UE4 Blend Space 控制骨骼动画play 和反向Play

        UE4 Blend Space提供了动画融合的功能,能够一个骨骼将多个动画更合理的融合在一起,比如人在跑步时的手臂运动和腿部运动的融合,这部分在UE4官方文档已经给出,文档:https://docs.unrealengine.com/en-us/Engine/Animation/Blendspaces,但今天要讲的不是该部分内容,而是使用blend Space 来实现已绑好的骨骼动画可以使用一个网络传输的状态数据或者通过键盘鼠标控制的状态数据来控制动画的执行状态和反向执行动画动能,该功能可以用于折叠自行车的打开和收起等仿真。

        通过一下Demo来进行说明:

1、创建一个Third Person蓝图工程,创建一个空关卡,在content Brower中创建一个Pawn,可以命名为BlendSpaceBPPawn或者其他名字,打开BlendSpaceBPPawn,在根节点下添加SkeletalMesh和一个Camera,加完后Components栏和ViewPort如下所示:

UE4 Blend Space 控制骨骼动画play 和反向Play

UE4 Blend Space 控制骨骼动画play 和反向Play

Skeletal Mesh 选择Content/Mannequin/Character/Mesh下的SK_Mannequin,在Content Browser下点击鼠标右键,选择Animation-Animation Blueprint 创建动画蓝图NewAnimBlueprint,Skeletal Mesh 对应的Animation属性设置如下图所示:

UE4 Blend Space 控制骨骼动画play 和反向Play

2、创建BlendSpace,在Content Browser里点击鼠标右键,选择Animation-Blend Space,在弹出的框中选择UE4_Mannequin_Skeleton,创建BlendSpace。

UE4 Blend Space 控制骨骼动画play 和反向Play

3、打开NewBlendSpace,双击选中Asset Browser中的ThirdPersonRun,选择Create Asset中的Create Animation-Current Pose,创建Animation Sequence到Content文件夹下,命名为UE4_Mannequin_Start,重复上述操作,命名为UE4_Mannequin_End。再双击打开NewBlendSpace,将UE4_Mannequin_Start拖到时间条的开头,将UE4_Mannequin_End拖到时间条的结尾,如下图所示:

UE4 Blend Space 控制骨骼动画play 和反向Play

4、打开NewAnimBlueprint,在Anim Graph中拖入NewBlendSpace,并创建浮点型State变量,蓝图如下所示:

UE4 Blend Space 控制骨骼动画play 和反向Play

5、在BlendSpacePawn的EventGraph中加入如下蓝图程序,按键6控制动画执行,7控制动画逆向执行:

UE4 Blend Space 控制骨骼动画play 和反向Play

7、将Pawn拖入到关卡中,设为Player0,点击Play运行,可查看动画效果。