我有这个问题,我无法让函数FrameSelected()
起作用
基本上在我的场景中,有一个名为TT_CAM的相机和一个名为'Model'的模型列表(就像pCube / Sphere等被称为多边形)
我的目标是当用户执行脚本时,视口将在所有Model对象上聚焦('f'键盘键)时更改为TT_CAM。
我尝试使用下面的代码但是FrameSelected失败了。
以下是我的尝试:
import maya.cmds as cmds
cmds.lookThru("TT_CAM")
mAssets = cmds.select('Model*')
#cmds.viewFit(mAssets)
cmds.FrameSelected(mAssets)
答案 0 :(得分:1)
我会发布这个作为答案。我没有意识到pymel实际上有这样的功能,但是你必须明确地导入它才能使用它(这就是你在cmds中调用它时遇到的问题之一)。由于代码的大小,我只是使用pymel重写它。
import pymel.core as pm
from pymel.core.runtime import FrameSelected
pm.lookThru("TT_CAM")
mAssets = pm.select('Model*')
FrameSelected() # no arguments need be passed, works off selected objects
虽然这看起来像viewFit()
一样,它接受fitFactor之类的其他参数,你可以传递一个浮点数来确定你想要的视口的百分比。