MotionBuilder把动画绑定到人物模型并调整动画
原文链接:https://www.cnblogs.com/jingjiangtao/p/16668445.html
目的
有时候,人物模型和人物动画是分开做的,比如模型是用软件建模的,动画是动作捕捉的,这时候需要把动画绑定到人物身上,并对动画做一些调整。
工具
MotionBuilder,其它建模和动画软件或许也可以做到。
步骤
步骤如下:
- 导入模型
- 角色化模型骨骼(如果是标准骨骼会自动绑定)
- 导入动画
- 角色化动画骨骼(如果是标准骨骼会自动绑定)
- 把动画烘焙到模型 Control Rig
- 把Control Rig烘焙到Skeleton
- 删除动画骨骼
- 调整模型动画
- 烘焙到Skeleton
- 导出
导入模型并角色化
将模型拖入MotionBuilder场景中,选择NoAnimation
Ctrl+A切换骨骼显示,2,3,4,5,6,7切换模型显示,也可以在左上角的Display中点选。
骨骼选为X-Ray,Models Display选为3,方便操作。
角色化之前,先把角色设置成T-Pose。可以尝试全选人物骨骼,右键->zero->Rotation。
接下来开始对人物角色化。在Navigator窗口的Scene中找到当前模型,选中Hips关节
在右边的AssetBrowser窗口找到Templates/Characters/Character,把Character拖到刚选中的Hips上,点击Characterize,点击Biped,完成对模型骨骼的角色化。在右边的Character Controls面板的Definition中可以看骨骼绑定情况。
自动映射一般都是正确的,如果不放心可以挨个看一遍。
手动映射骨骼(自动映射失败)
如果模型骨骼结构和命名不标准,会映射失败,MotionBuilder也会提示,这时候需要手动绑定骨骼。
映射面板可以看到,大部分没有映射成功。
这种情况下,最好把已经绑定的也清掉,防止自动映射错误,然后手动把每个骨骼映射一遍。
Ctrl + 2把场景分成两个窗口,点击右边的场景,按下Ctrl + w,可以显示骨骼的树形结构。绑定时这两个窗口可以对照着看,防止绑错。
绑定之前,先把角色设置成T-Pose。绑定方法是:选中场景中的骨骼,在Definition面板选中对应的骨骼,右键,选择Assign Selected Bone。
所有骨骼绑定完之后,点击锁定按钮锁定人物模型,选择Biped。
映射完成后,如果需要重复用到这个模型,可以把绑定后的模型另存为fbx,方便后续重复使用。
导入动画并角色化
接下来导入动画,和导入模型的方法相同,导入后,先把模型调整为T-Pose,之后角色化,手动修正没有映射成功的关节,然后锁定。
烘焙ControlRig
在Navigator面板的Characters下选中模型的Character,双击,切换到CharacterSettings,InputType选为模型Character,InputSource选为动画Character,勾选Active,点击PlotCharacter。
弹出框选择Skeleton -> Plot,等待完成。
完成之后,再次点击Plot Character -> Control Rig -> FK/IK -> Plot,等待完成。
完成之后,播放动画,可以看到动画已经绑定到模型上了。这时就可以删掉动画Character和动画骨骼了。
调整模型动画
接下来可以开始调整模型动画。在AnimationLeyers面板,选择新的动画层,如果没有新的动画层,可以新建一个。
在Character Controls面板中选中Body Part,然后选中人物身上想调整的节点,调整到想要的位置,按s键打点。这个修改会影响从这个点开始之后的所有点的位置,如果只是想影响动画中的一段,可以在想要调整的区间的开始位置打一个点,结束位置打一个点,达到定帧的效果,这样的话,在这个区间中的修改就不会影响区间之外的动画。
烘焙到Skeleton
调整完成之后,还是点击PlotCharacter -> Skeleton,把修改烘焙到动画中。最后可以导出成fbx或其它格式。