动画状态机是可以让动画从一个过渡到另一个的过程,它大大简化了动画的设计流程。可以实现很多的基础动作,例如:跑,跳,上天,游泳等一系列动作。
是一种多功能工具,通过它可以实现多种动画效果,主要与公开代码或 蓝图可视脚本 中的动画控件相关。它也可用于创造各种动画效果,包括动画的智能循环,基于逻辑的动画切换等。
蒙太奇是可以创建并存在于 内容浏览器 中的动画资产。可在运行时将这些资产直接插入动画图中,并修改它的任何状态。能够控制触发器,在需要的时候停止,或者变换状态(循环或不循环)。
运用:在角色蓝图中嵌入动画蓝图,在角色蓝图中的Mesh选项中Animation加入已有的动画蓝图。
结构:动画蓝图主要分为EnentGraph事件图,AnimGraph动画图。
EnentGraph:事件图,在事件图中每一帧都会检测,获取模型数据,并将获取的数据赋值给变量。
AnimGraph:动画图,包含状态机,状态机根据变量执行对应的动作。
Blendspace:线性混合,复合节点,根据不同的数据,控制模型动作之间的切换。
变量:动画蓝图中定义的Variables变量,EnentGraph和AnimGraph中均可以访问,一般在EnentGraph中设置变量,在AnimGraph使用变量(也可以从角色蓝图中获取变量)。
基础姿势(Base Pose)
目标姿势(Blend Pose 0)
混合权重 (Blend Weights 0)
分支过滤器
1.骨骼名称:要混合的骨骼链起始骨骼
2.混合深度:混合过度的层数(从起始骨骼算起,到第几层才混合到百分百,每层叠加 1/深度)
1.百分百混合整条骨骼链:混合深度=0
2.从指定骨骼起,到第N层子骨骼为止逐渐混入新动作:混合深度=N
3.取消子骨骼一下所有骨骼的混合:混合深度=-1
1.先导入所需要的模型
2. 新建一个动画蓝图,Animation->AnimationBlueprint,继承AnimationInstance,然后选择相应的骨骼。
3. 在MyBlueprint下的AddNew两个Variables,float类型的speed,boolean类型的IsAttack。
4. 右上角的Animation,create Asset/Blend 1D,右侧选择Idle动画,让x=0,设置run动画,在parametres下,XAxisLabel命名为speed,然后apply应用。
5. 右上角的Graph,选择,Event Graph,Attack可以通过Cast M有Third Hero获取到。
6. 选择AnimGraph,Add new State Machine,命名为dafalt,然后连接。
7.
第一次学习ue4的动画状态机,感觉东西很多很杂,需要扩展的东西也很多,得需要一些时间和一些项目才能真正的领悟。