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或其它格式。

posted @ 2022-09-08 15:40  是只香菇  阅读(2024)  评论(0编辑  收藏  举报