Maya如何实现快捷键A和F,相机自动调整视图

  • 前言: 运行自动脚本的时候想调整一下视图然后截个图用作文件预览
  • 命令 viewFit 来看一下他的标签
短名称长名称作用
allallObjects自适应所有
ananimate自适应视图的时候相机有动画过度
ccenter相机以焦点为中心挪动到物体
ffitFactor自适应到选择的物体没有选择物体就和all一样
ppanel调整给入的视图名称
nsnamespace忽略在此名称空间的物体
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)  # 设置时间条
  • 完语:好好学习,天天向上!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值