maya 导出层级干净的相机

import maya.cmds as cmds
import maya.mel as mel
# 获取选中相机
select_cams = cmds.ls(sl=True)

for cam in select_cams:
	# 获取相机shape节点
	camShape = cmds.listRelatives(cam,s=True)[0]

	# 复制相机
	newCamera = cmds.duplicate(cam,rr=True,name="CamForExport_{}".format(cam))[0]

	# 捆绑相机属性
	cmds.setAttr(newCamera+".focalLength",keyable = True)
	mel.eval("expression -s \""+newCamera+".focalLength="+camShape+".focalLength;\" " + "-ae 1 -uc all ;")
	
	# 提取到根层级
	cmds.parent(newCamera,w = True)
	
	# 点约束\目标约束
	pointConstrain = cmds.pointConstraint(cam,newCamera)
	orientConstrain = cmds.orientConstraint(cam, newCamera)
	
	# 帧范围
	startFrame = cmds.playbackOptions(ast=True, q=True)
	endFrame = cmds.playbackOptions(aet=True, q=True)
    # bake
	cmds.bakeResults(newCamera,simulation=True,t=(startFrame,endFrame),sampleBy=1,disableImplicitControl=True,preserveOutsideKeys=True,sparseAnimCurveBake=False,removeBakedAttributeFromLayer=False, removeBakedAnimFromLayer=False,  bakeOnOverrideLayer=False, minimizeRotation=True, controlPoints=False , shape=True)
	# 清理约束
	cmds.delete(pointConstrain,orientConstrain)
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值