火星人虚幻开发学习笔记——第五周动画与AI基础

目录

  • 一、动画
    • 1.1 动画蓝图需要注意的事项
    • 1.2 动画状态机
    • 1.3 动画蓝图的基本操作逻辑
      • 1.3.1 动画按布尔混合
      • 1.3.2 加速功能
      • 1.3.3 跳跃蓝图逻辑
      • 1.3.4 叠加动画
      • 1.3.5 同步标志与同步组
      • 1.3.6 骨骼分层混合
    • 1.4 动画蒙太奇
      • 1.4.1 在角色类里获取动画实例判断蒙太奇是否在播放
    • 1.5 通知类型蓝图
      • 1.5.1 通知类型蓝图逻辑
    • 1.6 子弹类型蓝图设计
      • 1. 子弹轨迹设置
      • 2.子弹类型碰撞设置
    • 1.7 inplace动画与rootmotion动画的区别
  • 二、骨骼重定向

一、动画

1.1 动画蓝图需要注意的事项

  1. 创建动画蓝图的时候,选择对应的骨骼后,父类必须选AnimInstance火星人虚幻开发学习笔记——第五周动画与AI基础_第1张图片
  2. 如果做AI,不同的怪要创建不同的动画蓝图,除非它们的模型同属于一套骨骼,同一套骨骼下的不同模型共用一套动画
  3. 创建的动画蓝图要在角色蓝图Mesh组件的视口界面的细节面板的动画选项下的AnimClass上进行设置才能起作用。
  4. Try Get Pawn Owner节点:获得该动画蓝图的拥有者,Get Owning Actor 节点用于非角色的动画蓝图,比如弩车,投石车之类的。
  5. 将Try Get Pawn Owner节点与update Animation节点用?IsValid节点连接,验证动画蓝图的拥有者是否被销毁。
    火星人虚幻开发学习笔记——第五周动画与AI基础_第2张图片
  6. 如果角色只有一个向前跑的动画,可以采用让角色转向其加速方向来解决它的转向移动需求
    火星人虚幻开发学习笔记——第五周动画与AI基础_第3张图片
    火星人虚幻开发学习笔记——第五周动画与AI基础_第4张图片
  7. 控制台命令:Slomo 空格 0.1 将游戏的运行速度降低90%,用于调试动画
  8. 如果是组装型的骨骼模型,要用Set Master Pose Component节点,设置根模型下的子模型组件跟随父组件共用一个动画蓝图。

1.2 动画状态机

  1. 写比较复杂的状态机时一般建议菱形布局,或者8字布局
  2. 动画状态机的动画条件里的Result只能接受为真的返回结果
  3. 动画状态机可以通过save缓存节点来保存成一个缓存姿势,从而可以在另一个状态机里嵌套使用,用use节点可以调用缓存好的动画状态机。

1.3 动画蓝图的基本操作逻辑

1.3.1 动画按布尔混合

火星人虚幻开发学习笔记——第五周动画与AI基础_第5张图片

1.3.2 加速功能

火星人虚幻开发学习笔记——第五周动画与AI基础_第6张图片
火星人虚幻开发学习笔记——第五周动画与AI基础_第7张图片

1.3.3 跳跃蓝图逻辑

火星人虚幻开发学习笔记——第五周动画与AI基础_第8张图片
Calculate Direction节点用于计算方向

1.3.4 叠加动画

如果在动画蓝图里拖出来是绿色的动画序列则是叠加动画,其不能单独使用,叠加动画的作用是解决部分动画僵硬不太流畅的问题。

  1. 设置叠加动画
    火星人虚幻开发学习笔记——第五周动画与AI基础_第9张图片
  2. 使用Apply Additive节点进行动画叠加
    火星人虚幻开发学习笔记——第五周动画与AI基础_第10张图片

1.3.5 同步标志与同步组

行走到跑步的动画切换出脚顺序不一样,可以使用同步组的方式解决,在动画序列里的通知一栏新建同步标志
火星人虚幻开发学习笔记——第五周动画与AI基础_第11张图片
双击状态机里的节点,细节面板里将所有走跑等的同步名称设为同一个。

1.3.6 骨骼分层混合

为了解决角色在移动时攻击会出现滑步的情况,一般会采取骨骼分层混合的技术,细节面板里的Layered Setup设置开始的骨骼名以及数量,一般混合以下半身为主,上半身为次。骨骼影响身体是自下往上
第一种方法
火星人虚幻开发学习笔记——第五周动画与AI基础_第12张图片
第二种方法
火星人虚幻开发学习笔记——第五周动画与AI基础_第13张图片

1.4 动画蒙太奇

  1. 动画蒙太奇主要用于攻击,技能,连招等,Slot插槽节点是唯一可以在动画蓝图调用蒙太奇的节点
  2. 动画蓝图菜单栏的窗口选项里有一个插槽管理器,专门管理蒙太奇的插槽

1.4.1 在角色类里获取动画实例判断蒙太奇是否在播放

火星人虚幻开发学习笔记——第五周动画与AI基础_第14张图片

1.5 通知类型蓝图

新建蓝图—>动画通知类型蓝图,可以用在动画序列或者蒙太奇里
火星人虚幻开发学习笔记——第五周动画与AI基础_第15张图片

1.5.1 通知类型蓝图逻辑

火星人虚幻开发学习笔记——第五周动画与AI基础_第16张图片

1.6 子弹类型蓝图设计

1. 子弹轨迹设置

如果需要抛物线的效果,需要调重力数值,并勾上 Rotation Fallow
火星人虚幻开发学习笔记——第五周动画与AI基础_第17张图片

2.子弹类型碰撞设置

  1. 子弹类型的碰撞需要放在蓝图根组件上
    火星人虚幻开发学习笔记——第五周动画与AI基础_第18张图片

1.7 inplace动画与rootmotion动画的区别

rootmotion动画即根运动动画,它可以带着角色胶囊体位移动画里的距离,但不能带着角色脱离地面,如果设计带离,需要将角色移动模式改为飞行模式即无视重力。
要使用根运动需要在根运动动画序列里勾上根运动

二、骨骼重定向

  1. 在骨骼右键新建重定向链
  2. 两个骨骼模型IK器的重定向顺序必须一致,层级关系也必须一致
  3. (1)root根骨骼设为重定向链;(2)Pelvis盆骨骼设为重定向根;(3)盆骨往上的spine脊柱骨骼设为重定向链;(4)头部骨骼设为重定向链;(5)各边锁骨与各自的手臂设为重定向链;(6)两边的手指也要各设为重定向链;(7)两边的大腿与脚各连成骨骼重定向链
  4. 重定向器新建姿势,并将两个骨骼模型的姿势尽量调为一致
  5. 重定向器里选中root链细节面板里将平移模式设为全局,否则重定向后的动画没有根运动

你可能感兴趣的:(虚幻,学习,动画)