使用3dmax Morpher制作Unity表情动画

关于游戏人物的面部表情动画
方案一:如果面部骨骼数丰富的话,可以直接做骨骼动画
方案二:采用变形器(3dmax是Morpher,maya是blendshape)修改相应通道的权重值来做表情动画

本文简述方案二的做法。
说明:本文截图中3dsMax版本为2017。笔者第一次使用3dsMax,欢迎指正。

  1. 3dmax中导入人物模型,选择需要变形的对象,即head。当前对象附带skin信息。
  2. 选择head,右键clone一份,选择copy,叫做head001。(如果选择Instance的话,复制品修改会影响原对象)
    使用3dmax Morpher制作Unity表情动画_第1张图片
  3. 选择head,菜单Modifiers/Animation/Morpher,添加Morpher编辑器。好了,现在去构建最终的变形效果。
    使用3dmax Morpher制作Unity表情动画_第2张图片
  4. 选择head001,ModifierList中删除skin绑定。在EditableMesh中编辑顶底等,变形成你最终需要的效果。
    • 带skin的模型 编辑Mesh时会有位移,暂时不用担心,退出编辑模式就会恢复
    • 至于为什么要删除skin,我在没删的情况下导入到unity变形会有位移,删掉之后两个模型就对上了。
    • Selection里面再次点击选项可以退出编辑模式(新手第一次使用卡在这里,汗|||)
      使用3dmax Morpher制作Unity表情动画_第3张图片
  5. 选择head,ModifierList中选择Morpher,Channel Parameters中,点击Pick Object from Scene,在场景中点击选择head001对象,此时Channel Parameters中首行的1 -empty-变成你选择的对象名。即选择Morph目标成功。
    使用3dmax Morpher制作Unity表情动画_第4张图片
    使用3dmax Morpher制作Unity表情动画_第5张图片
  6. 选择head,ChannelList中第一行为刚刚选择的目标对象,修改旁边的值(0-100),可以观察到head的变化。 Morpher支持多个通道变化,当前只用了一个通道。
  7. 若6的效果OK,可以删除head001,导出fbx。确认下导出参数勾选了Deformations/Morphs,默认是勾选的。
    使用3dmax Morpher制作Unity表情动画_第6张图片
  8. 将fbx文件导入到unity,可以观察到head的SkinMeshRenderer组件,BlendShapes属性下有通道列表,调节head001的值(0-100),可以观察到面部形变效果。
    使用3dmax Morpher制作Unity表情动画_第7张图片
  9. 制作动画可以选择K动画或者脚本skinMesh.SetBlendShapeWeight(0, weight)控制。

你可能感兴趣的:(Unity)