- 前言: 运行自动脚本的时候想调整一下视图然后截个图用作文件预览
- 命令 viewFit 来看一下他的标签
短名称 | 长名称 | 作用 |
---|---|---|
all | allObjects | 自适应所有 |
an | animate | 自适应视图的时候相机有动画过度 |
c | center | 相机以焦点为中心挪动到物体 |
f | fitFactor | 自适应到选择的物体没有选择物体就和all一样 |
p | panel | 调整给入的视图名称 |
ns | namespace | 忽略在此名称空间的物体 |
import maya.cmds as mc
mc.viewFit(all=True)
# 带动画例
mc.viewFit(all=True, an=True)
# 调整到选择的物体例
mc.select("box", r=True)
mc.viewFit(f=True)
# 调整指定视图例
mc.viewFit(p="modelPanel14")
# 名称空间例 geo:box
mc.viewFit(all=True, ns="geo")
下边是当时写的自动调整视图例子,参考一下吧
import maya.cmds as mc
cam_name = ["cameraA", "cameraAShape"]
cam = mc.camera(n=cam_name[0]) # 创建一个相机并设置角度
mc.setAttr(".rx",-45)
mc.setAttr(".ry",45)
mc.setAttr(".farClipPlane", 10000000) # 设置 远裁切面 参数
if cam[0] != cam_name[0]: # 相机命名可能会出错,添加检查
mc.rename(cam[0], cam_name[0])
cam[1] = mc.listRelatives(cam_name[0], s=True)[0]
if cam[1] != cam_name[1]:
mc.rename(cam[1], cam_name[1])
visPlanes = mc.getPanel(vis=True) # 得到所有显示着的视图
for visPlane in visPlanes: # 所有的 modelPanel 切换到创建的相机
if "modelPanel" == mc.getPanel(to=visPlane):
mc.modelPanel(visPlane,e=True, camera = cam_name[0])
mc.timer(startTimer=True) # 创建一个计时器
while True:
mc.refresh(f=True) # 强制刷新视图
if mc.timer(lap=True) > 3: # 三秒刷新
break
mc.timer(endTimer=True)
mc.viewFit(all=True) # 视图调整
mc.playbackOptions(e=True, min=101, max=102, ast=101, aet=102) # 设置时间条
- 完语:好好学习,天天向上!