首页 > 解决方案 > 基于modelPanel设置相机

问题描述

首先,我还没有编码。

我的问题是,每次我在 Maya 中打开场景时,渲染凸轮面板都会被透视视图替换,从而使其成为无用的副本。我没有找到任何方法让 Maya 记住带有相机的面板和之前设置的选项(隐藏曲线等)。我想做的是获取当前活动相机的面板并更改该面板的相机。

我在这里找到了这段代码,我认为它可以使用。

在我的情况下,我想设置的相机称为 renderCAM,但从中获取面板的面板可能是 persp。

谢谢!

import maya.cmds as cmds

def getPanelFromCamera(cameraName):
    listPanel=[]
    for panelName in cmds.getPanel( type="modelPanel" ):
        if cmds.modelPanel( panelName,query=True, camera=True) == cameraName:
            listPanel.append( panelName )
    return listPanel

print getPanelFromCamera("persp")

标签: pythonmayamel

解决方案


这是可以帮助您的不同代码。我不确定你被困在哪里。

# get all default models
models = [i for i in cmds.lsUI(p=True) if 'modelPanel' in i]
# get first panel
myPane = cmds.paneLayout('viewPanes', q=True, pane1=True)
# get panel in focus but might not be your solution
panel = cmds.getPanel(withFocus=True)

#query camera
currentCam = cmds.modelPanel(myPane, q=True, cam=True)

# set camera
cmds.modelPanel(myPane, e=True, cam='renderCAM')

推荐阅读