参考:
UE4-(蓝图)第十七课使用动画蓝图及混合空间(实现控制人物站立、走、跑效果)_懒猫睡大觉的博客-CSDN博客_ue4动画蓝图
UE4学习笔记2----蓝图实现物体来回移动__路漫漫其修远的博客-CSDN博客_ue4蓝图控制物体移动
准备:
需要NPC的骨架Skeleton以及其对应的骨骼网格体Skeletal Mesh和动画序列Animation Sequence
1.创建动画蓝图
Content Browser -> 某个文件夹下 -> 右键 -> Animation -> 选择新建Animation Blueprint
Parent Class选择AnimInstance类型
Target Skeleton选择准备好的骨架
重命名为×××Anim
2.在动画蓝图中创建状态机
双击打开创建的动画蓝图×××Anim
在AnimGraph界面中右键创建Add New State Machine并和Output Pose连接
双击新建的状态机进入其界面,拖动Entry节点的箭头Add State
双击新建的状态进入其界面,在Asset Browser中拖动要选择的动画序列到蓝图中并和Output Animation Pose连接
Compile and Save
3.新建类蓝图
Content Browser -> 某个文件夹下 -> 右键 -> 选择新建Blueprint Class
Common Classes选择Character类型
重命名为×××
4.设置角色使用其动画蓝图
双击打开创建的类蓝图×××
在Components中单击Mesh,并在Details中修改其属性:
点击Mesh栏下的Skeleton Mesh的下拉箭头选择准备好的骨骼网格体
点击Animation栏下的Anim Class的下拉箭头选择刚刚创建好的动画蓝图×××Anim
5.设置类蓝图
在Viewport界面将Mesh缩放到合适的大小
点击Viewport界面中的Capsule,在Details中更改其shape使其适合Mesh
选做:在Components中点击Add Component选择Box Collision
在My Blueprints中新建3个Variables
Variable Name | Variable Type | Instance Editable | Default Value (Compile后才能设置) |
---|---|---|---|
Speed | Float | ✔ | 25 |
Direction | Vector | ✔ | (0,-10,0) |
Orientation | Vector | ✔ | (-180,0,0) |
在Event Graph界面中设置连线实现NPC两点一线走动:
左边部分
中间部分
*Delay决定朝一个方向移动的时间(速度方向和朝向由刚刚设置的三个变量决定)
右边部分
*Filp Flop的A和B设置NPC来回走的方向和朝向
Compile and Save
6.效果
将Content Browser中刚刚设置好的类蓝图×××拖动进窗口创建实例,运行