UE4动画--AdvancedLocmotionV4总览篇

动作捕捉 2023-04-18 8239

简介

AdvancedLocotionV4 是UE4 一个很有名气的动画插件 以纯蓝图的形式展示了UE4动画蓝图的各个功能 堪称UE4动画系统的教科书式范例
目前V4版本已经在Epic商店永久免费
主要特点:
  • 展示了UE4动画蓝图各个功能特性的用法
  • 强大的分层系统 使得可以以少量的基本动画搭建出细节形态俱佳动画表现效果
  • 各种状态机的组合/嵌套/混合 灵活且强大
  • 有很多动画表现的细节处理值得参考

功能特性列举:

  • 四方向走/跑/蹲姿走 姿态之间切换自然流畅 具备跑停、倾斜、冲刺跑等细节表现效果
  • 在基础的移动效果上 通过覆盖层混合出持武器、受伤、搬运等其他形态下移动表现
  • 动态攀爬效果



效果展示



UE4动画--AdvancedLocmotionV4总览篇  第1张




总体逻辑梳理

  • ALS_AnimBP 动画蓝图 动画表现逻辑实现及动画状态机的管理
  • ALS_Base_CharacterBP 角色逻辑的基类 主要实现了 角色一些主要逻辑
    • Controls面板的输入响应
    • 一些蓝图Interface接口的实现
    • 移动 旋转 攀爬 布娃娃效果的实现逻辑
    • Show Debug Shapes (按键Y)调试信息的绘制
  • ALS_AnimMan_CharacterBP 角色蓝图 基础自ALS_Base_CharacterBP 实现一些额外的功能
    • 用不同颜色标识各个部位的动画层信息
    • 手持武器 挂载操作
  • ALS_Player_Controller 主角的控制器蓝图
    • 加载显示HUD 面板信息
    • 加载显示Overlay菜单 滚动选择操作
    • Debug 面板的输入操作响应
  • ALS_HUD HUD面板UI
  • OverlayStateSwitcher OverlayStateButton 动画分层操作菜单UI
  • ProjectSetting-Input 做输入绑定映射




UE4动画--AdvancedLocmotionV4总览篇  第2张




UE4动画--AdvancedLocmotionV4总览篇  第3张




UE4动画--AdvancedLocmotionV4总览篇  第4张




UE4动画--AdvancedLocmotionV4总览篇  第5张




涉及知识点梳理

  • 状态机状态、导管(Conduit)、转换规则、共享转换规则





UE4动画--AdvancedLocmotionV4总览篇  第6张





  • 动画蓝图的各种混合节点
    • Apply Additive
    • Blend
    • Blend Poses by bool
    • Blend Poses by Int
    • Blend Poses by Enum
    • BlendMulti
    • Layered blend per bone
    • Slot
    • Inertialization(惯性化)


  • 动画曲线(AnimationCurve)
    应用了大量动画曲线作为动画的数据驱动


UE4动画--AdvancedLocmotionV4总览篇  第7张




UE4动画--AdvancedLocmotionV4总览篇  第8张





UE4动画--AdvancedLocmotionV4总览篇  第9张


  • 动画通知事件

在状态切换 转换规则触发中 定义了很多自定义动画通知 触发一些操作

比如:移动到停止移动转换条件开始时 触发名为:->N QuickStop的自定义动画通知(对应的蓝图接口名称约定以AnimNotify_ 开头) 播放一个蒙太奇动作



UE4动画--AdvancedLocmotionV4总览篇  第10张




UE4动画--AdvancedLocmotionV4总览篇  第11张 data-caption= data-size=normal data-rawwidth=1259 data-rawheight=595 class=origin_image zh-lightbox-thumb lazy width=1259 data-original=https://pic3.zhimg.com/v2-433e857a29bff7ad156b6a2052c60b7e_r.jpg data-actualsrc=https://pic3.zhimg.com/v2-433e857a29bff7ad156b6a2052c60b7e_b.jpg>



  • 同步组及同步标记

保证混合过渡动画播放的进度比例的一致性

比如:八方向中的动作混合过渡 保持两只脚的落地节奏同步 不出现明显脚步交叉现象



UE4动画--AdvancedLocmotionV4总览篇  第12张 data-caption= data-size=normal data-rawwidth=1133 data-rawheight=218 class=origin_image zh-lightbox-thumb lazy width=1133 data-original=https://pic2.zhimg.com/v2-1f98e9c45ceb8867aa69f538693690e1_r.jpg data-actualsrc=https://pic2.zhimg.com/v2-1f98e9c45ceb8867aa69f538693690e1_b.jpg>




UE4动画--AdvancedLocmotionV4总览篇  第13张 data-caption= data-size=normal data-rawwidth=1179 data-rawheight=736 class=origin_image zh-lightbox-thumb lazy width=1179 data-original=https://pic2.zhimg.com/v2-f4b04f215bcc22f38f51ba57a3a63b5d_r.jpg data-actualsrc=https://pic2.zhimg.com/v2-f4b04f215bcc22f38f51ba57a3a63b5d_b.jpg>



  • 动画修改器(AnimationModifier 蓝图类)

批量修改 Animation Sequence 资源或者骨骼资源

比如:批量添加同步标记 添加动画资源等



UE4动画--AdvancedLocmotionV4总览篇  第14张 data-caption= data-size=normal data-rawwidth=544 data-rawheight=743 class=origin_image zh-lightbox-thumb lazy width=544 data-original=https://pic3.zhimg.com/v2-a66256371841d8d563b71a8978559df6_r.jpg data-actualsrc=https://pic3.zhimg.com/v2-a66256371841d8d563b71a8978559df6_b.jpg>




UE4动画--AdvancedLocmotionV4总览篇  第15张 data-caption= data-size=normal data-rawwidth=518 data-rawheight=564 class=origin_image zh-lightbox-thumb lazy width=518 data-original=https://pic1.zhimg.com/v2-b803f58551ec747f9d9019a53ba4b768_r.jpg data-actualsrc=https://pic1.zhimg.com/v2-b803f58551ec747f9d9019a53ba4b768_b.jpg>



  • 动画蓝图调试

Attach 调试 可以很直观的查看 动画蓝图的实时运行状态

Blueprint Debugger窗口 可以查看调用堆栈 变量值 执行断点调试

其他非动画的蓝图调试也是这一套

有兴趣的可以了解下AnimationInsights(4.25后的新功能 可以对动画进行详细的抓帧拆解分析)


UE4动画--AdvancedLocmotionV4总览篇  第16张 data-caption= data-size=normal data-rawwidth=3385 data-rawheight=1862 class=origin_image zh-lightbox-thumb lazy width=3385 data-original=https://pic1.zhimg.com/v2-4645c704e6324350693c0f20bb1e14ac_r.jpg data-actualsrc=https://pic1.zhimg.com/v2-4645c704e6324350693c0f20bb1e14ac_b.jpg>




The End