获取fbx模型

使用Mixamo创建骨骼与动画

  1. 将模型上传到mixamo
  2. 按照要求选择骨骼
  3. 取消默认动作,下载带骨骼的T-Pose
  4. 选择合适的动作并下载,在上一步已经下载了带骨骼的模型,所以Skin选择Without Skin

将模型与动作导入到UE4

  • 先将T-Pose导入,导入选项设置中可以选择不导入动画,T-Pose仅为静态,材质一栏可以直接创建也可以之后自己创建
  • 将准备的动作导入

角色控制配置

  1. 创建角色蓝图
  2. 添加弹簧臂组件和摄像机组件,摄像机组件附加到弹簧臂组件,可以将SpringArm一起附属到网格体上,这样当角色跳跃或下蹲等操作时可以让摄像机跟随视角
  3. 调整弹簧臂-摄像机-目标臂长度,调整位置,并勾选摄像机设置-使用Pawn控制旋转,以使视角根据鼠标移动而移动
  4. 选择网格体组件(Mesh)-网格体-骨骼网格体添加模型,并调整位置和大小
  5. 效果如图所示
  6. 给角色添加控制权。添加第三人称游戏功能包,将ThirdPerson小白人事件图表的一些功能复制过来,如Mouse input、Movement input、Jump input等

给角色绑定动画

  1. 创建动画-混合空间1D
  2. 添加一个轴值Speed,之后我们把这个当做角色速度范围,并根据状态添加不同的动画,在角色蓝图-CharMoveComp-角色移动:行走-最大行走速度也要调成最大轴值,将不同动画插入到不同节点,将采样插值-目标权重每秒插值速度调整为3.0使过度动画更加平滑
  3. 创建动画蓝图,父类选择AnimInstance,目标骨骼选择你想要的绑定动画的骨骼
  4. 将第一步创建的混合空间1D拖到动画蓝图的动画图表AnimGraph中,Speed即为混合空间1D中添加的轴值,将Speed提升为变量,之后将在动画蓝图里实时获取速度并传递到此处,并根据速度播放不同的动画
  5. 在动画蓝图的事件图表中实时获取速度并给Speed赋值,在获取拥有者后需要先判断是否有效(Is Valid),获取的速度是一个向量,而设置的轴值是一个浮点,所以需要使用向量长度节点进行类型转换
  6. 在角色蓝图中使用上述中创建好的动画蓝图,选中模型(Mesh),在右侧的细节面板-动画-动画类选择创建的动画蓝图
  7. 修改角色蓝图-类默认值-Pawn中取消勾选使用控制器旋转Yaw,这一步为了角色不跟随鼠标旋转,修改CharMoveComp-细节-角色旋转(旋转设置)中勾选将旋转朝向运动,这一步使角色跟随键盘WASD方向朝向,这两个选项一般是互斥选项

完成