哪个面板与特定相机相关联?梅尔

Which panel is associated with a particular camera? MEL

我知道您可以查询哪个摄像头与特定面板相关联。但是,有没有办法反过来做呢?

我希望能够看到哪个面板与特定相机相关联。

示例:

getPanel -q mainCamera;

// modelPanel1

感谢大家的帮助

此脚本 returns 哪些面板与特定相机相关联(在本例中:persp)。

梅尔版本:

proc string[] getPanelFromCamera(string $cameraName){
    string $listPanel[];
    for( $panelName in `getPanel -type modelPanel`){
        if( `modelPanel -query -camera $panelName` == $cameraName){
            $listPanel[size($listPanel)] = $panelName;
        }
    }
    return $listPanel;
}

print `getPanelFromCamera("persp")`;

Python版本:

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")

注: 我通常不使用 mel 编写脚本,因此此代码的 mel 版本是 python 版本的乱码翻译。我还认为 Python 版本可能对未来的读者有用。

如果您面板,并且想要与其关联的相机,您可以简单地查询它

import maya.cmds as cmds
cmds.modelPanel("modelPanel1", query=True, camera=True)