1.新建BlueprintAnimation
在Character中右键,Animation->Animation Blueprint,Parent Class选择AnimInstance,Target Skeleton选择SK_Mannequin_Skeleton,OK,重命名为CharacterAnimBP。在Anim Graph中可以建立动画状态机State Machine。
2.了解State Machine
我们需要的是:
3.编辑AnimationBlueprint
1)打开CharacterAnimBP,在Anim Graph中操作。
鼠标右键,Add New State Machine,命名为Locomotion,连接到Final Animation Pose,双击machine,进入,add state,命名为Idle_Walk_Run,双击进入,将Idle_Walk_Run拖入state中,连接到Final Animation Pose。通过调整参数的大小(speed)来播放不同的动画,这里我们在pin处右键,promote to variable,命名speed。记得点击Compile,才能看到你想要的动画效果哦,步骤如下图:
在Locomotion中,Add State,命名为JumpStart,双击进入,将ThirdPersonJump_Start拖入state中,连接到Final Animation Pose。返回到Locomotion中,双击双向箭头,transition rule,将Can Enter Transition,右键promote to variable,命名isInAir?。
Jump Start到Jump Loop的条件:
Jump Loop到Jump End的条件:
Jump End到Idle_Walk_Run的条件:
总的来说呢,在state中添加相应的动画,在transition rule中添加动画转换的条件,下面用图展示最终结果:
2)打开CharacterAnimBP,在Event Graph中操作。
4.新建Character蓝图
在Character中,鼠标右键,Blueprint Class,选择Character为Parent Class。命名为CharacterBP,打开将mesh赋值为我们的SK_Mannequin,调整好Mesh的位置和角度,在Details中的Animation中赋值我们的CharacterAnimBP。
修改CharacterMovement中的参数,建议:
Add Component,添加SpringArm,重命名为CameaRoot。在细节面板中,Camera Settings,勾选Use Pawn Control Rotation。添加Camera,作为CameaRoot的子物体,位置归零。
选择Class Defaults,在细节面板中,找到pawn,取消勾选Use Controller Rotation Yaw。
选择CharacterMovement,在细节面板中,Character Movement(Rotation Settings),勾选Orient Rotation to Movement。