PoseDriver节点可以进行Pose的比对,从而针对不同Pose生成不同权重数值,权重数值可应用至MorphTarget上使动画更加逼真,或应用至角色挂件上,制作出类惯性或弹簧的附加效果。
1.创建Pose
这里创建Box作为演示,下图大Box好比角色,三个小Box好比角色身上的挂件,b,c,d三根骨骼权重分别在3个小box上。
首先通过Animation Sequence生成Pose资产,也可以手动修改Transform信息:
(Pose资产可以看下:https://blog.csdn.net/grayrail/article/details/129755349)
双击点开pose文件,从当前pose权重为0的状态创建一个新pose,作为默认状态:
此时pose_0为挂件触发惯性时的状态,pose_1为默认状态
2.动画蓝图处理
创建动画蓝图,首先添加Observe Bone节点方便调试监测骨骼的数值,因为一会要取旋转数值作为PoseDriver的驱动值:
(动画蓝图节点可以看下:https://blog.csdn.net/grayrail/article/details/129241147)
在动画蓝图中添加PoseDriver节点,在Settings设置里配置刚刚创建的Pose资产:
在Pose Targets中点击Tools,自动从Pose资产创建Pose Target:
下一步比较重要,首先确保Debugging打开,然后进入Pose Driver选项下设置Radius、Twist Axis 半径轴向这些信息:
在动画蓝图的预览视图内查看绿色线,以及混合的锥体,用之前的Observe Bone节点的数值进行参考:
最后回到Pose Driver选项,设置这些参数:
Source Bones - 读取值的骨骼
Only Drive Bones - 被设置值的骨骼
Drive Source - 读取旋转还是位移?
Drive Output - 输出到Pose上还是曲线?
最后成功运行动画时,会发现数值在根据不同Pose造型在动态变化: