Beispiel #1
0
    def confirmWritePropReference(self, body=None):
        filepath = pm.sceneName()
        fileDir = os.path.dirname(filepath)
        project = Project()

        if not body:
            checkout = project.get_checkout(fileDir)
            bodyName = checkout.get_body_name()
            body = project.get_body(bodyName)

        if body.is_asset() and body.get_type() == AssetType.PROP:
            element = body.get_element(Department.MODEL)
            filepath = os.path.join(project.get_assets_dir(),
                                    element.get_cache_dir())
            assemblies = pm.ls(assemblies=True)
            pm.select(pm.listCameras(), replace=True)
            cameras = pm.selected()
            pm.select([])
            non_cameras = [
                assembly for assembly in assemblies if assembly not in cameras
            ]
            self.exportPropJSON(filepath,
                                non_cameras[0],
                                isReference=False,
                                name=body.get_name())
            print("JSON references written successfully.")
Beispiel #2
0
def checkTransformations(*args, **kwargs):
    result = set()
    cameras = pm.listCameras()
    cameras = cameras if cameras else []
    transforms = pm.ls(type='transform')
    transforms = [t for t in transforms
                  if t not in cameras] if transforms else []
    center = pm.dt.Vector([0.0, 0.0, 0.0])
    for t in transforms:
        pivots = t.getPivots(worldSpace=True)
        tx = t.tx.get()
        ty = t.ty.get()
        tz = t.tz.get()
        rx = t.rx.get()
        ry = t.ry.get()
        rz = t.rz.get()
        sx = t.sx.get()
        sy = t.sy.get()
        sz = t.sz.get()

        if pivots[0] != center \
        or pivots[1] != center \
        or tx != 0.0           \
        or ty != 0.0           \
        or tz != 0.0           \
        or rx != 0.0           \
        or rz != 0.0           \
        or sx != 0.0           \
        or sy != 0.0           \
        or sz != 0.0:

            result.add(t.name())

    return list(result)
Beispiel #3
0
    def exportCameras(self, cacheFolder, log):
        perspCameras = pm.listCameras(o=0, p=1)
        userCameras = []
        for cam in perspCameras:
            if 'persp' not in cam:
                userCameras.append(cam)
        self.userCameras = userCameras
        for cam in userCameras:
            startTime = pm.playbackOptions(query=True, minTime=True)
            endTime = pm.playbackOptions(query=True, maxTime=True)

            pm.select(cam)
            fileName = cam + '.abc'
            fileName = os.path.join(cacheFolder, fileName).replace('\\', '/')

            jobstring = "AbcExport "
            jobstring += "-j \" -fr %d %d -worldSpace" % (startTime, endTime)

            jobstring += ' -root ' + cam

            jobstring += ' -file ' + fileName
            jobstring += '\"'
            print jobstring

            try:
                pm.hide(all=True)
                pm.select(cam)
                pm.showHidden(above=True)
                pm.mel.eval(jobstring)
            except:
                pm.warning('Could not export %s cam' % cam)
Beispiel #4
0
 def refresh_allCam(self):
     self.allCam = pm.listCameras(o=False, p=True)
     pm.textScrollList(self.all_cams, edit=True, removeAll=True)
     pm.textScrollList(
         self.all_cams,
         edit=True,
         append=self.allCam,
     )
Beispiel #5
0
    def __init__(self, **kwargs):

        self.version = "1.0.0"
        self.title = "adbrower - Cameras Tool"
        self.name = "CamTool_win"

        self.currentCam = pm.lookThru(q=1)
        self.allCam = pm.listCameras(o=False, p=True)

        self.ui()
Beispiel #6
0
    def bdPopulateCameras(self):
        self.cameras = pm.listCameras(p=1)
        self.cameras.remove('persp')
        self.camerasTableWidget.setColumnCount(2)
        self.camerasTableWidget.setRowCount(len(self.cameras))

        for i in range(len(self.cameras)):
            exportStatus = QtGui.QTableWidgetItem('True')
            exportStatus.setFlags(~QtCore.Qt.ItemIsEditable)
            self.camerasTableWidget.setItem(i, 0, exportStatus)
            cam = QtGui.QTableWidgetItem(self.cameras[i])
            cam.setFlags(~QtCore.Qt.ItemIsEditable)
            self.camerasTableWidget.setItem(i, 1, cam)
Beispiel #7
0
    def getCameras(self):
        allCameras      = cmds.listCameras(perspective=True)
        selection       = cmds.ls(sl=True)
        self.renderCameras    = [i for i in allCameras if i in selection]

        for camera in allCameras:
            cmds.textScrollList( self.interface['Cameras'], edit=True, append=camera )
            cmds.setAttr( getShapes(camera)[0] + '.renderable', 0)
            # cmds.menuItem( label=camera )

        for camera in self.renderCameras:
            cmds.textScrollList( self.interface['Cameras'], edit=True, selectItem=camera)
            cmds.setAttr( getShapes(camera)[0] + '.renderable', 1)
    def __init__(self, parent=None):
        super(cfxToolbox, self).__init__(parent=parent)

        self.currentCam = pm.lookThru(q=1)
        self.allCam = pm.listCameras(o=False, p=True)
        self.Original_startTime_value = 1001
        self.Original_endTime = self.getCurrentTimeSlider()
        self.playbast_path = None

        self.setObjectName(self.UI_NAME)
        self.setWindowTitle('CFX Toolbox  v{}'.format(VERSION))
        self.setWindowFlags(QtCore.Qt.Tool)
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
        self.resize(290, 900)
        # self.setFixedWidth(250)

        # -----------------------------
        # ---  Create scrollArea

        self.mainBox = QtWidgets.QVBoxLayout()
        self.mainBox.setContentsMargins(0, 0, 0, 0)
        self.scroll_layout = QtWidgets.QScrollArea()

        self.mainBox.addWidget(self.scroll_layout)
        self.setLayout(self.mainBox)
        self.scroll_layout.setContentsMargins(0, 0, 0, 0)
        self.scroll_layout.setWidgetResizable(True)
        self.scroll_layout.setFrameStyle(QtWidgets.QFrame.NoFrame)
        self.scroll_layout.setFrameShadow(QtWidgets.QFrame.Plain)

        self.scroll_widget = QtWidgets.QWidget()
        self.scroll_layout.setWidget(self.scroll_widget)

        # -----------------------------
        # ---  Main Layout

        self.main_layout = QtWidgets.QVBoxLayout()
        self.main_layout.setContentsMargins(2, 2, 4, 4)
        self.main_layout.setSpacing(2)
        self.setLayout(self.main_layout)

        self.widgetsAndLayouts()
        self.getOsDatas()
        self.getRootsData()

        self.create_Button()
        self.populate()
        self.buildMainLayout()

        self.scroll_widget.setLayout(self.main_layout)
Beispiel #9
0
    def getCameras(self):
        allCameras = cmds.listCameras(perspective=True)
        selection = cmds.ls(sl=True)
        self.renderCameras = [i for i in allCameras if i in selection]

        for camera in allCameras:
            cmds.textScrollList(self.interface['Cameras'],
                                edit=True,
                                append=camera)
            cmds.setAttr(getShapes(camera)[0] + '.renderable', 0)
            # cmds.menuItem( label=camera )

        for camera in self.renderCameras:
            cmds.textScrollList(self.interface['Cameras'],
                                edit=True,
                                selectItem=camera)
            cmds.setAttr(getShapes(camera)[0] + '.renderable', 1)
Beispiel #10
0
def exportProp(body):
    project = Project()
    element = body.get_element(Department.MODEL)
    filePath = os.path.join(project.get_assets_dir(), element.get_cache_dir())
    assemblies = pm.ls(assemblies=True)
    pm.select(pm.listCameras(), replace=True)
    cameras = pm.selected()
    pm.select([])
    non_cameras = [
        assembly for assembly in assemblies if assembly not in cameras
    ]
    if len(non_cameras) > 0:
        exportPropJSON(filePath,
                       non_cameras[0],
                       isReference=False,
                       name=body.get_name())
    else:
        print "No non-camera assets found. Most likely this is a camera asset."
Beispiel #11
0
    def checkTransformations(self):
        cameras = pm.listCameras()
        cameras = cameras if cameras else []
        transforms = pm.ls(type='transform')
        transforms = [t for t in transforms
                      if t not in cameras] if transforms else []
        center = pm.dt.Vector([0.0, 0.0, 0.0])
        self.data['report']['check transformations'] = []
        with pm.uitypes.MainProgressBar(minValue=0,
                                        maxValue=len(transforms),
                                        interruptable=False) as bar:
            bar.setStatus('Check Transformations.')
            for t in transforms:
                bar.step(1)
                pivots = t.getPivots(worldSpace=True)
                tx = t.tx.get()
                ty = t.ty.get()
                tz = t.tz.get()
                rx = t.rx.get()
                ry = t.ry.get()
                rz = t.rz.get()
                sx = t.sx.get()
                sy = t.sy.get()
                sz = t.sz.get()

                if pivots[0] != center \
                or pivots[1] != center \
                or tx != 0.0           \
                or ty != 0.0           \
                or rx != 0.0           \
                or ry != 0.0           \
                or rz != 0.0           \
                or sx != 0.0           \
                or sy != 0.0           \
                or sz != 0.0:

                    t.name() in self.data['report']['check transformations'] \
                    or self.data['report']['check transformations'].append(t.name())
Beispiel #12
0
def get_top_level_nodes():
    assemblies = pm.ls(assemblies=True)
    pm.select(pm.listCameras(), replace=True)
    cameras = pm.selected()
    pm.select([])
    return [assembly for assembly in assemblies if assembly not in cameras]
 def refreshCam(self):
     self.presetListLeft.clear()
     _allCam = pm.listCameras(o=False, p=True)
     [self.presetListLeft.addItem(cam) for cam in _allCam]
def getPerspectiveCameras():
    pcamlist = pm.listCameras(perspective=True)
    return pcamlist