您的位置:首页 > 产品设计 > UI/UE

UE4 自定义角色(深入动画蓝图)

2019-06-21 10:15 10169 查看

这里使用动画蓝图和motage来丰富一下角色的自定义:

一、创建基础工程(Custom),并导入AnimStarterPacket资源

二、创建动画蓝图(AnimBP_Character),在Anim Graph中添加一个state machine(状态机)并与Final Animation Pose连接

三、编辑状态机(简单版本),完全参照AnimStarterPacket中的动画蓝图,


Idle,静止时播放的动画(更细的区分,可以设置一个变量表示是否持枪,用于播放普通的Idle和持枪的Idle)

Jump,原地跳的动画(Idle->Jump,也可以设置一个变量,来播放普通的Jump和持枪的jump,另外也可以根据枪支的类型是瞄准类的武器还是扫射类的武器,使用Blend by int)

Crouch,下蹲的动画(Idle->Crouch)

Crouch Walk,下蹲时走动(使用BlendSpace)

Jog,跑动的动画(Idle->Jog,使用BlendSpace,需要传入的值是Direction和Speed)

RunJump,跑动过程中跳跃的动画(Jog->Run)

四、使用eventGraph来设置变量,

用到的变量有

主要是根据PawnOner来获取到Velocity(获取向量的长度)用于设置Speed;获取Rotation,计算出direction;Cast to Character后可以直接获取IsCrouching和WasJumping等属性用来设置Crouching和EnableJump等。

可以直接设置变量的值用来测试该动画蓝图的逻辑是否正确(提高,完善动画状态机,添加蹲伏、walk和疾跑,并且完善动画的过渡)

五、持枪的瞄准偏移,为了说明情况,使用AimOffeset_1D;为了创建AImOffset

首先利用Aim_Space_Hip和Aim_Space_IronSights,从中提取动画pose片段

AimOffset1D的话,只需要使用到持枪的中间瞄准,向上瞄准,向下瞄准这三个片段(起名方式参照虚幻争霸中的shinbi)。

,需要额外的设置,AdditiveSettings中的anim type为MeshType,BasePose Type为selected animation frame,否则无法拖入到AnimOffset中,baseAnimation选择对应的CC(中间状态),下图方式可以进行批量修改

对应空间的Pitch-90 ~ 90 

6、使用AimOffset完善动画蓝图

7、EventGraph中设置pitch,Delta执行的是向量减法,另外由于GetActorRotation中Actor的pitch始终为0,其实可以直接从BaseAimRotation中提取Pitch出来

8、TODO:添加与使用动画蒙太奇,完善人物与武器相关逻辑,平滑动画<放在最后>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: