def createLayer(self, layer, useExisting =True): """ Creates a display layer with the specified name. """ if useExisting and cmds.objExists(layer): return priorSelection = MayaUtils.getSelectedTransforms() cmds.select(clear=True) cmds.createDisplayLayer(name=layer) MayaUtils.setSelection(priorSelection)
def createRenderEnvironment(self): lightName = 'scenic_light1' if not cmds.objExists(lightName): lightName = cmds.directionalLight(name=lightName, intensity=0.5) cmds.move(0, 2500, 0, lightName) cmds.rotate('-45deg', '-45deg', 0, lightName) lightName = 'scenic_light2' if not cmds.objExists(lightName): lightName = cmds.directionalLight(name=lightName, intensity=0.5) cmds.move(0, 2500, 0, lightName) cmds.rotate('-45deg', '135deg', 0, lightName) floorName = 'floor' if not cmds.objExists(floorName): floorName = cmds.polyPlane(width=10000, height=10000, name=floorName)[0] shader, shaderEngine = self.createShader('Whiteout_Surface', 'surfaceShader') cmds.setAttr(shader + '.outColor', 1.0, 1.0, 1.0, type='double3') cmds.select([floorName]) cmds.sets(forceElement=shaderEngine)
def createShader(self, shaderName, shaderType ='blinn'): shaderEngine = None if not cmds.objExists(shaderName): shader = cmds.shadingNode(shaderType, asShader=True) shader = cmds.rename(shader, shaderName) shaderEngine = cmds.sets(renderable=True, empty=True, noSurfaceShader=True, name=shader + '_SG') cmds.connectAttr(shader + '.outColor', shaderEngine + '.surfaceShader') else: shader = shaderName engines = cmds.listConnections(shader + '.outColor') if engines: shaderEngine = engines[0] return shader, shaderEngine
def initializeCadenceCam(self): """ This creates an orthographic camera that looks down the Y axis onto the XZ plane, and rotated so that the AI file track labels are legible. This camera is positioned so that the given track nodeName is centered in its field by setCameraFocus. """ if cmds.objExists(self.CADENCE_CAM): return priorSelection = MayaUtils.getSelectedTransforms() c = cmds.camera( orthographic=True, nearClipPlane=1, farClipPlane=100000, orthographicWidth=400) cmds.setAttr(c[0] + '.visibility', False) cmds.rename(c[0], self.CADENCE_CAM) cmds.rotate(-90, 180, 0) cmds.move(0, 100, 0, self.CADENCE_CAM, absolute=True) MayaUtils.setSelection(priorSelection)
def deleteLayer(self, layer): """ Deletes a display layer. """ if not cmds.objExists(layer): cmds.delete(layer)
def shaderExistsInScene(cls, shaderConfig): return cmds.objExists(shaderConfig['uid'])