UE4 自定义角色(深入动画蓝图)
这里使用动画蓝图和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:添加与使用动画蒙太奇,完善人物与武器相关逻辑,平滑动画<放在最后>
- [UE4]CustomAnimationBlueprintNode 自定义动画蓝图节点
- UE4]不使用角色蓝图、动画蓝图、状态机,用“24K纯C++”实现动画播放
- UE4 第一人称射击制作流程:03(图文)添加角色Idle动画蓝图
- UE4示例项目学习:用Blueprint来创建一个可操作角色(二) 动画蒙太奇篇(Animation Montage)
- 自定义Android动画---深入理解matrix
- UE4蓝图:自定义鼠标操作.
- UE4增加Input选项,操作蓝图完成角色移动
- UE4 蓝图完成角色的控制
- UE4角色受击动画,随机播放音效
- [UE4]角色蓝图CharacterBlueprint中设置对象往移动方向自动转向
- ue4动画蓝图
- UE4角色动画同步便捷思路。
- UE4 骨骼动画 蓝图中调节某一根骨骼
- 【UE4】【C++】判断是否撞击到物体、从蓝图中获取组件(炮管、炮塔)、根据瞄准的方向进行(角色)旋转
- UE4 4.14自定义角色
- UE4----C++调用蓝图类生角色加入场景和用纯C++生成角色加入场景中
- 深入理解jquery自定义动画animate()
- 深入学习jQuery自定义动画
- ViewPager设置自定义切换动画
- UE4引擎自定义插件导出类定义的简单流程