上一次修改时间:2021-04-20 11:51:02

动画模型

  1. 设置MotionBuilder的操作模式

    图片.png

    图片.png

  2. MotionBuilder的T-Pose设置(3d-max的操作模式)

    1)显示模型和骨骼

    图片.png

    图片.png

    2)将左手和右手的肩甲骨、上臂、前臂、手掌(不包括手指)的Y轴和Z轴都设置为0;

    图片.png

    图片.png

    图片.png

    3)确认角色的脚掌是贴着地面的;

    图片.png

    4)角色化

    选择角色的任一骨骼后,点击Skeleton

    图片.png

    图片.png

    选中角色的任一骨骼,然后在右边的骨骼里选择对应的骨骼,对应成功后右边的骨骼会变成绿色,且对应了角色左边骨骼(左手、左脚等)后,右边骨骼会自动对应上;

    图片.png

    此处对应UE4骨骼里的spine_01,里面的则是Spine01对应UE4骨骼的spine_02,02对应03

    图片.png

    图片.png

    UE4骨骼的neck只有一个,对应最下面一个即可

    图片.png

    完成角色化

    图片.png

    图片.png

    导入选项里需要打开命名空间选项,并使用一个前缀来处理重名问题,防止因重名导入角色之间的相互覆盖问题;

    图片.png

  3. 合并导入需要转换动画的角色

    图片.png

    1)隐藏UE4小白人

    ctrl+w进入图解视图编辑器,选中小白人(shift为多选)

    图片.png

    图片.png

    为小白人创建一个组,并将该组隐藏

    图片.png

    2)对合并进来的角色进行T-Pose和角色化操作,完成后可以根据此处查看已完成角色化的角色(注:BIP骨骼可以直接角色化,不需要手动设置骨骼,但需要设置root骨骼的位置,BIP骨骼的root为盆骨,而非盆的投影)

    图片.png

    编辑左边也能查看

    图片.png

    重命名后

    图片.png

  4. 导入UE4小白人的动画

    图片.png

    导入动画时,一定不能勾选命名空间选项,而是让动画文件覆盖原来的角色

    图片.png

    导入成功后动画滑块的长度就是导入动画原本的帧数,无需再次设置

    图片.png

    动画导入后角色模型会变成平躺状态,需要先选角色的根骨骼,再将X轴旋转90度

    图片.png

    注:旋转的骨骼如图所示,不是root骨骼

    图片.png

    旋转前为-90度

    图片.png

    图片.png

    选择源动画骨骼,完成动画转换

    图片.png

    转换后

    图片.png

  5. 塌陷骨骼,创建骨骼控制系统

    图片.png

    图片.png

    塌陷后,ctrl+a显示骨骼控制系统

    图片.png

    AnimationLayers里创建的新层里修改的骨骼,会在每一帧里都生效(此处是逐帧动画);

    图片.png

    选择动画图层后,可以对动画进行调整(注:手指调整时需要设置成局部坐标轴,肩胛骨调整时需要设置成世界坐标)

    图片.png

    图片.png

    图片.png

    下图中两个选项都不激活时,骨骼的位移和旋转是相互影响的;都激动后,则位移和旋转互不影响;

    图片.png

    将模型修改部分复制下来,以便在其它动画里使用,红色显示的骨骼为已选中的骨骼

    下图中M为镜像,选择后可以将左边手指的pose镜像到右边手指

    图片.png

    动画调整完成后,需要K一下帧,记录动画数据,否则滑动动画滑块后,又会变成调整前的动画姿势;

    图片.png

  6. 导出动画到UE4

    1)将动画塌陷到骨骼

    图片.png

    2)在图解视图里选中要导出的动画

    图片.png

    图片.png

    图片.png

    图片.png

    默认导出

    图片.png

    3)导出成fxb文件

    图片.png

    4)导入相同骨骼的不同动画时,只需要将上面已经摆好T-Pose和角色化的文件复制一份,再在复制的文件里合并进新的动画,再调整导出就行;

    --------------------------------------------------------

    动画重定向

    1)导入源动作的T-POST文件(源POST文件导入时需要对骨骼加前缀,以防骨骼名称冲突),再创建动画轨道,最后导入动画文件

    图片.png

    图片.png

    图片.png

    2)选择动画的骨骼,将动画轨道的开始拖到0帧处,调整动画的帧率和长度;

    图片.png

    图片.png

    图片.png

    3)合并动画转换的骨骼,设置骨骼,再次设置动画长度和帧率

    图片.png

    图片.png

    4)Bake并导出

    图片.png

    图片.png

  7. 在maya中给模型添加骨骼

    图片.png

    F3菜单

    图片.png

    图片.png

    调整骨骼的位置

    图片.png

    图片.png

    选中骨骼和模型,然后绑定蒙皮

    图片.png

    图片.png

    导入人物模型,并通过连接关节,将武器连接到人物模式的手掌上(需要先选择武器模型的根节点,再选择人物模型手掌上的武器骨骼)

    图片.png

    调整武器的方向和位置

    图片.png

  8. 装备外形切换

    1)导入角色系统中有变形的文件,并删除大纲视图中灰色的操作

    注:except_pants3.fbx为上衣、手套、护腕、鞋子的变形;legs3.fbx为裤子的变形;

    图片.png

    图片.png

    2)导入新装备的静态模型,缩放模型并将其移动到骨骼上对应的地方;

    图片.png

    图片.png

    3)先选择静态模型,再选择骨骼上LOD(有先后顺序,不能反过来选择),点击变形里的包裹命令

    图片.png

    图片.png

    图片.png

    4)打开形变编辑器,并将形变编辑器里最下面的bodyfat设置为1

    图片.png

    图片.png

    图片.png

    图片.png

    5)将变形后的静态模型复制(ctrl+d)一份,并移动到骨骼旁边,再删除包裹操作和骨骼上的LOD

    图片.png

    6)先择变形后的胖模型,再选择原本的模型(有先后顺序,不能反过来选择),点击变形菜单中的混合变形选项

    图片.png

    图片.png

    7)检查混合变形的效果

    图片.png

    8)选择骨骼和导入的静态模型,点击F3菜单中的蒙皮

    图片.png

    图片.png

    图片.png

    9)将模型单独导出

    图片.png

    图片.png

    图片.png

    图片.png

    变形和蒙皮是默认导出且不能更改的

    图片.png

  9. 从maya中将蒙好皮的模型导入UE4

    图片.png

    导入时合并到UE4里相同的骨骼上面,且导入和变形和LOD的选项一定要勾选,默认是不勾选的

    图片.png

    导入成功后,在UE4

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    注:实际使用时变形的目标名称要和捏人系统里的一样

    图片.png

  10. 捏人系统备注

    1)ScalarSlider,滑杆用来控制材质参数,如皮肤的对比度、光滑度等;

    图片.png

    2)BoneSlider,滑杆用来控制骨骼的缩放,如手臂的维度(左右上臂、前臂、手掌六节骨骼同进缩放);

    图片.png

    BoneSlider控件中直接设置角色下的BoneLengths(该数组为自定义)数组,然后在动画蓝图中的事件图表中更新动画蓝图中定义的BoneLenghts数组,最后在动画蓝图里的动画图表里设置骨骼对应的缩放;

    图片.png

    图片.png

    图片.png

    3)MorphGroup,通过变形曲线控制人物蒙皮,如形体(body),曲线内容在主UI里进入设置

    图片.png

    图片.png

    Morphs数组备注:Name-曲线名称 DisplayedName-UI上显示的名字 Min-变形的最小值 Max-变形的最大值

    图片.png

    样式修改

    图片.png

  11. ------------------------------------分隔线喵-----------------------------------------

  12. 查看模型骨骼的权重值

    图片.png

    选择对应的骨骼后

    图片.png

    图片.png

  13. 将模型放入场景中后,可以直接测量模型的实际高度(鼠标中键)

    图片.png

  14. 模型的导入和导出(maya)

    导入前的小白人骨骼

    图片.png

    将小白人的模型导入maya后,骨骼层级会多出一层

    图片.png

    如果原封不动的导出UE4,则会在UE4的骨骼层级里也会多出一层

    图片.png

    在maya里将root和sk_mannequin_lodGroup移动到多出来的SK_Mannequin骨骼同层级,并删除SK_Mannequin后,再导入UE4就 不会多出一层骨骼

    图片.png
    在maya里解除LOD的锁定后,可以移动小白人

    图片.png

    图片.png

  15. 创建人物模型的通用LOD规则

    图片.png

    图片.png

    图片.png

  16. 骨骼上的插槽里添加预览的静态模型,比如武器

    图片.png

  17. 世界位置和本地位置

    图片.png

  18. 创建骨骼绑定

    图片.png

  19. 在动画序列的最后一帧上可以添加循环帧,用来过渡动画

    UE4里的循环帧是根据最后一帧和第一帧做插值产生的

    图片.png

  20. 动画蓝图中可以获取动画序列中曲线的值,用来做一些效果

    图片.png

    同一套骨骼的动画序列,某个曲线创建或导入后,在其它动画序列里都可以设置相同的曲线,也可以删除曲线

    图片.png

    图片.png

  21. 动画压缩,用来节省动画资源的大小,压缩的原理是根据设置的模式去掉部分关键帧

    图片.png

  22. 动画序列和动画蒙太奇

    在蓝图中可以直接播放动画序列和动画蒙太奇(蒙太奇需要将本蒙太奇使用的插槽添加到动画蓝图中)

    图片.png

    mesh里除了选择动画蓝图外,也可以直接选择某个动画序列或动画蒙太奇

    图片.png

    动画蒙太奇相对动画序列,自带了混合

    图片.png

  23. 根骨骼动画

    播放原地动画时,ForceRootLock需要勾选上,未勾选播放带移位的动画时,会出现角色先进行位移,动画播放完成后,瞬移回原位;

    图片.png

  24. 动画Pose

    用来做动画叠加,如跑步过程中的点头,眨眼,向左或向右看等(在播放动画的过程中使用曲线控制);

    图片.png

  25. 混合空间里的插值选项

    图片.png

    该插值用来控制从一个姿势转换到另一个姿势时的时间,用来平滑转换不同的姿势;

    上图的中的水平坐标用来控制角色的左右转向,垂直坐标用来控制角色从走路到跑步的过程;

    图片.png

  26. 给骨骼或插槽添加跟随骨骼移动的特效

    注:该通知特效如果是持续型特效(如一直燃烧的火焰),则播放后,特效会一直存在,不会自动消失;非持续型特效(如爆炸)则会消失

    图片.png

    Attached为跟随移动选项

    图片.png

    注:该通知特效如果是持续型特效(如一直燃烧的火焰),则播放后完成后,特效会消失;非持续型特效(如爆炸)则会在通知结束时播放

    图片.png

    选项没试出来有啥用

    图片.png

    该通知会在通知期间禁用蒙太奇的RootMotion,位移动画会原地播放,通知结束后的动画位移会正常产生

    图片.png

  27. 动画通知里开关布料模拟的选项

    图片.png

  28. 通知类型

    图片.png

    下面的数字队列的优先级别,队列里的通知较多时,会有延迟;

    BranchingPoint类型的通知不会有延迟,但同一时间有较多通知时,会存在某些通知不执行的情况,不推荐在有需要改变角色状态(如攻击开始、攻击结束)的通知里使用

    图片.png

  29. 混合空间里动画序列通知的权重

    图片.png

    动画通知触发权重值

    图片.png

  30. 蒙太奇动画通知执行顺序

    蒙太奇动画通知被打断后,没播放的动画里,如果有通知,是不会执行的;如果没执行的通知里有维护角色状态的逻辑,则会出BUG;

    图片.png

    通知状态类型的通知,算被打断后,如果通知开始已经执行,则通知结束的也一定会执行,但如果被打断时,通知开始没有执行,则整个通知都不会执行

    图片.png

  31. 状态机

    状态机条件里,上面的两个为上一个状态的百分比,下面的为上一个动画的百分比,推荐使用上面的那两个,下面的那个跟动画相关的,如果动画补替换掉后不会报错;

    图片.png

  32. 状态机通知

    下面的通知定义后,可以动动画蓝图里直接调用

    图片.png

  33. 敌对角色的攻击被打断的受击动画一般是由播放蒙太奇动画来完成,无打断的受击一般是由动画蓝图里的叠加动画完成

  34. 动画蓝图里的空pose

    图片.png

  35. 弹簧控制器

    图片.png

  36. 拖尾控制器

    图片.png

    拖尾控制器的骨骼需要选择尾巴的最后一节,ChainLength则是需要有拖尾效果的骨骼节数

    图片.png

    图片.png

  37. 防御塔LookAt的插值选项

    图片.png

  38. IK(反向动力学-逆向动力学)

    正向:通过骨骼的旋转造成位移;

    反向:通过骨骼的位移造成旋转;

    IK的作用:在3D动画软件里,创建了模型的IK后,可以通过IK骨骼的位移,去生成产生位移的相关的骨骼的旋转,提升K动画的效率;

    图片.png

    图片.png

  39. 捏脸系统需要新的GameMode,并将DefaultPawnClass指定为捏脸的角色;