1.AI
2.Anim Node
1.Scale Chain Length
Default Chain Length – 默认链长度,值越大关节越短,值为1只改TargetLocation。但设置后出现了奇怪问题。
3.Animation
1.Random Sequence Player
随机序列播放,随机播放列表内的动画序列
4.Animation Blueprint Linking
1.Get Linked Anim Graph Instance by Tag
5.Blend spaces
1.Blendspace Player
播放预先创建好的Blendspace资源,可通过混合参数混合
2.Blend – Apply Additive
以姿态添加的方式混合
3.Blend – Blend Bone By Channel
暂时未知
4.Blend – Blend Multi
将多个节点按照多个混合Alpha值进行混合,
右键Blend Multi选择Add Blend Pin即可添加混合节点
5.Layered blend per bone
混合两个动画,且可设置混合关节作为Mask,
该节点非常常用,可以看这篇:https://blog.csdn.net/grayrail/article/details/129275144
6.Blend poses by bool
根据布尔值决定混合A值还是B值,
最下面2个混合值表示true的时候混合值时多少,false时又是多少。
6.Misc
6.1 Pose Snapshot
在蓝图中用Save Pose Snashot节点录制快照,
在动画蓝图中用Pose Snapshot节点拿到快照。
UE官方文档:https://docs.unrealengine.com/5.0/zh-CN/animation-pose-snapshot-in-unreal-engine/
还有一种情况是直接在动画蓝图里存和使用:
7.Identity
7.1 Local Space Ref Pose
获取模型绑定姿势
8.Skeletal Control Nodes
8.1 Copy Bone
拷贝骨骼
8.2 Anim Dynamics
动画物理,类似做辫子等骨骼物理效果
官方文档地址:https://docs.unrealengine.com/5.1/zh-CN/animation-blueprint-animdynamics-in-unreal-engine/
不勾选chain可以模拟一些延迟或者惯性运动,勾选chain可以模拟辫子绳子等。
Simulation space设置成World可以响应世界空间位移,
Relative Space Bone表示非世界空间模拟时的最外层骨骼变换,选择世界空间(World space)时
不设置也可以。
Bound Bone表示根关节
Chain End表示末端关节
设置好后,会发现关节一直鬼畜,因为最关键一点没设置:
Box Extents 一般设置20-30之间
Local Joint Offset 一般给1-2左右的值
8.3 Apply a Percentage of Rotation
专门处理Twist关节的一个节点
官方文档地址:https://docs.unrealengine.com/5.1/zh-CN/animation-blueprint-apply-percent-of-rotation-in-unreal-engine/
8.4 Bone Driven Controller
通过Source Bone来映射目标Bone或MorphTarget,
不建议设置映射曲线,因为数值不可见,不易调试。先使用非映射曲线的模式调试成功后,再添加曲线。
8.5 Transform Bone
修改骨骼的位移、旋转、缩放信息,
该节点用来清根骨骼的位移甚为好用。
8.6 Two Bone IK
第一个数值控制IK位置,第二个数值控制轴点。
可开启Enable Debug Draw开关便于调试。
8.7 Constraint
约束,让A骨骼约束至B骨骼:
举个例子让右手约束到左手:
8.8 Apply Limits
限制旋转角度:
8.9 Observe Bone
对某根指定骨骼进行调试,显示具体信息到动画蓝图节点上。
8.10 Trail Controller
拖尾组件
将尾部骨骼设置至Trail Bone,将骨骼链长度设置至Chain Length(例如6节骨骼就输入6)。
可以在Rotation->Reorient Parent to child处,先将勾选去掉,便于调试。
9.Aligment
9.1 Calculate Alignment Transform
官方文档地址:https://docs.unrealengine.com/5.1/en-US/BlueprintAPI/Alignment/CalculateAlignmentTransform/
。。。未完待续
注1:可以打开骨骼名调试功能:
注2: 注意命名规范,动画蓝图以前缀ABP_表示
注3: 角色移动混合可以拿到Actor->GetVelocity直接进行处理,但注意一定要是Character角色蓝图,否则拿不到速率。
注4:可以打开Pose Watch功能:
在需要调试的节点右键Toggle Pose Watch即可。
注5:UE动画蓝图中,编译的快捷键是F7,调完参数按F7编译方便看效果,避免每次鼠标去点。
注6:动画蓝图官方文档页面-https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/SkeletalMeshAnimation/AnimBlueprints/Interface/
注7:需要在状态进入或其他事件点,绑定蓝图事件,可以在此处绑定:
On Initial Update - 初始化时调用一次,后续即使再切换回该状态,也不会被调用。
On Become Relevant - 切换进该状态调用一次,但若开始状态就是该状态,则不会被调用。
On Update - 状态更新时调用
注7.5:若在Transition过渡处绑定事件点,事件函数需要加AnimNotify前缀:
注8:设置动画剪辑循环:
注9:动画过渡时,判断动画播放了百分之多少并设置为条件:
使用Current State Time节点。
注10:蒙太奇动画播放完后自动回到T-Pose做混合,到蒙太奇里勾掉该选项:
注11:
动画蓝图状态机内的节点,播放一次后,第二次再跳转到该节点不播放动画,到动画蓝图的节点上勾选该选项:
注12:
状态机里的状态事件,On Become Relevant会在进入状态后响应一次,但如果是频繁触发的情况,不要用这个事件绑定,不及时;会出Bug,用On Update或者用别的方法。
注13:
动画状态机过渡类型列表,官方文档:https://docs.unrealengine.com/5.1/en-US/transition-rules-in-unreal-engine/
注14:
有时想调试动画蓝图,但打开后发现节点没有跟着运行时的状态走,其实需要在这里设置一下: