maya通过视窗获取相机并设置可渲染

import maya.cmds as cmds
import maya.mel as mel
import maya.OpenMaya as OpenMaya
import maya.OpenMayaUI as OpenMayaUI

#读取视窗
view = OpenMayaUI.M3dView.active3dView()
camDag = OpenMaya.MDagPath()
view.getCamera(camDag)
camera = camDag.fullPathName()
name= cmds.listRelatives(camera, parent = True)[0]
#print (name)#打印视口相机名
render_cam = name
def change_render_cam(render_cam):
    modernCam = modelPanel("modelPanel4", q=1, cam=1)
    render_cam_shape = cmds.listRelatives(render_cam, shapes=1)[0]#查询渲染列表相机
    cam_list = cmds.ls(type='camera')
    for cam_shap in cam_list:
        if cam_shap != render_cam_shape:
            cmds.setAttr("%s.renderable"%cam_shap, 0)
        else:
            cmds.setAttr("%s.renderable"%cam_shap, 1)
    mel.eval('unifiedRenderGlobalsWindow;') #注销这一行不弹渲染窗口,对功能无影响
change_render_cam(render_cam)
View Code

 

posted @ 2022-05-30 16:55  CGRun  阅读(95)  评论(0编辑  收藏  举报