def setThreePanelLayout(): shotCamera = animMod.getShotCamera() if not shotCamera: shotCamera = "persp" mel.eval("toolboxChangeQuickLayoutButton \"Persp/Graph/Hypergraph\" 2;"+\ #"ThreeTopSplitViewArrangement;"+\ "lookThroughModelPanel %s hyperGraphPanel2;"%shotCamera+\ "lookThroughModelPanel persp modelPanel4;") #"scriptedPanel -e -rp modelPanel2 graphEditor1;") viewports = [view for view in cmds.getPanel(type='modelPanel') if view in cmds.getPanel(visiblePanels=True)] defaultCameras = [u'front', u'persp', u'side', u'top'] for view in viewports: camera = utilMod.getCamFromSelection([cmds.modelEditor(view, query=True, camera=True)]) cameraTransform = camera[0] cameraShape = camera[1] if cameraTransform in defaultCameras: utilMod.animViewportViewMode(view) if cameraTransform == "persp": cmds.camera(cameraTransform, edit=True, orthographic=False) cmds.setAttr("%s.nearClipPlane"%cameraShape, 1000) cmds.setAttr("%s.farClipPlane"%cameraShape, 10000000) cmds.setAttr("%s.focalLength"%cameraShape, 3500) else: utilMod.cameraViewMode(view) cmds.setAttr("%s.displayFilmGate"%cameraShape, 1) cmds.setAttr("%s.overscan"%cameraShape, 1)
def cameraOrientMoveManip(): selection = cmds.ls(selection=True) if len(selection) == 0: return shotCamera = animMod.getShotCamera() if not shotCamera or not cmds.objExists(shotCamera): cmds.warning("No shot camera detected.") return cmds.refresh(suspend=True) sourceObjs = selection[0:-1] targetObj = selection[-1] locator = animMod.createNull("tempCameraOrient_locator") cameraNode = utilMod.getCamFromSelection([shotCamera])[0] G.aToolsBar.align.align([locator], targetObj, translate=True, rotate=False) with G.aToolsBar.createAToolsNode: constraint = cmds.aimConstraint(cameraNode, locator, name="tempCameraOrient_constraint", aimVector=[0, 0, 1], worldUpType="objectrotation", worldUpObject=cameraNode, maintainOffset=False)[0] cmds.select(selection) cmds.select(locator, add=True) orientMoveManip() if cmds.objExists(locator): cmds.delete(locator) if cmds.objExists(constraint): cmds.delete(constraint) cmds.refresh(suspend=False)
def setThreePanelLayout(): shotCamera = animMod.getShotCamera() if not shotCamera: shotCamera = "persp" mel.eval("toolboxChangeQuickLayoutButton \"Persp/Graph/Hypergraph\" 2;"+\ #"ThreeTopSplitViewArrangement;"+\ "lookThroughModelPanel %s hyperGraphPanel2;"%shotCamera+\ "lookThroughModelPanel persp modelPanel4;") #"scriptedPanel -e -rp modelPanel2 graphEditor1;") viewports = [ view for view in cmds.getPanel(type='modelPanel') if view in cmds.getPanel(visiblePanels=True) ] defaultCameras = [u'front', u'persp', u'side', u'top'] for view in viewports: camera = utilMod.getCamFromSelection( [cmds.modelEditor(view, query=True, camera=True)]) cameraTransform = camera[0] cameraShape = camera[1] if cameraTransform in defaultCameras: utilMod.animViewportViewMode(view) if cameraTransform == "persp": cmds.camera(cameraTransform, edit=True, orthographic=False) cmds.setAttr("%s.nearClipPlane" % cameraShape, 1000) cmds.setAttr("%s.farClipPlane" % cameraShape, 10000000) cmds.setAttr("%s.focalLength" % cameraShape, 3500) else: utilMod.cameraViewMode(view) cmds.setAttr("%s.displayFilmGate" % cameraShape, 1) cmds.setAttr("%s.overscan" % cameraShape, 1)
def duplicateCamera(self, *args): sel = cmds.ls(selection=True) camNode = utilMod.getCamFromSelection(sel) if camNode: dupCamNode = cmds.camera() camTransformNode = camNode[0] camShapeNode = camNode[1] dupCamTransformNode = dupCamNode[0] dupCamShapeNode = dupCamNode[1] utilMod.transferAttributes(camTransformNode, dupCamTransformNode) utilMod.transferAttributes(camShapeNode, dupCamShapeNode) G.aToolsBar.align.align([dupCamTransformNode], camTransformNode) cmds.select(dupCamTransformNode) return cmds.warning("No camera was created.")