1. 导入动补数据
导入FBX格式文件的动补数据到
如导入提示失败,根据下图步骤设置后即可
2. 将关键帧整体移动到需要位置
选择动补数据的顶层级骨骼,在maya的python中运行以下代码:
import maya.cmds as mc start_time = 1000 sel = mc.ls(sl=True)[0] offset_time = mc.keyframe(sel, q=True, timeChange=True)[0]-start_time for jnt in mc.ls(sl=True, dag=True, type='joint'): anim_curves = mc.listConnections(jnt, s=True, d=False, type='animCurve') for anim in anim_curves: time_changes = mc.keyframe(anim, q=True, timeChange=True) if time_changes[0]>offset_time: for a in range(len(time_changes)): mc.keyframe(anim, edit=True, timeChange=time_changes[a]-offset_time, a=True, o='move', index=(a, a)) else: for a in range(len(time_changes)-1, -1, -1): mc.keyframe(anim, edit=True, timeChange=time_changes[a]-offset_time, a=True, o='move', index=(a, a))
该代码将关键帧移动到1000帧开始,如需移动到其他位置可将代码第3行的 1000 改成其他对应数字。
如图:
3. 角色化动补数据的骨骼
3.1 创建空的humanIK角色
将maya模块切换到Rigging,点击Skeletion---HumanIK即可进入humanIK界面
点击 Create Character Definition 按钮
创建一个空的humanIK角色
3.2 利用模版文件载入骨骼到humanIK角色
选择动补数据的顶层级骨骼,点击此按钮载入模版文件
在弹出窗口中Template栏选择<Browse..>,选择xml模版文件后点击OK按钮
完成后如下图
3.3 锁定humanIK角色
锁定humanIK骨骼需要将骨骼还原到标准的T-pose状态,否则传递的数据会有偏差。
选择所有的骨骼
将骨骼的旋转数值改成0,在修改骨骼数值之前请确认自动K帧功能未打开,如下图
此时骨骼已回到T-pose状态(如图)
回到humanIK界面,锁定humanIK角色
至此,完成了动补数据的角色化,可保存为maya文件,重复使用。
没有帐号? 立即注册