UE Lyda项目学习 一、基础移动

  1. 创建ABP_CharacterBase动画蓝图,打开
  2. 新增Blueprint Thread Safe Update Animation Function方法,细节面板->高级勾选线程安全
  3. 创建UpdateVelocityData方法,勾选线程安全
    在这里插入图片描述其中,WorldVelocity表示角色在世界坐标中的速度向量,WorldRoatation表示角色在世界坐标中的旋转,LocalVelocity表示角色本地的速度向量,如下面输入前后左右时候的数据:
    前:
    WorldRoatation:P=0.000000 Y=94.561111 R=-0.000000
    WorldVelocity:X=-47.713 Y=598.100 Z=0.000
    LocalVelocity:X=600.000 Y=0.000 Z=0.000
    后:
    WorldRoatation:P=0.000000 Y=94.386131 R=-0.000000
    WorldVelocity:X=45.887 Y=-598.243 Z=0.000
    LocalVelocity:X=-600.000 Y=-0.000 Z=0.000
    左:
    WorldRoatation:P=0.000000 Y=97.443802 R=-0.000000
    WorldVelocity:X=594.935 Y=77.794 Z=0.000
    LocalVelocity:X=0.063 Y=-600.000 Z=0.000
    右:
    WorldRoatation:P=0.000000 Y=97.443802 R=-0.000000
    WorldVelocity:X=-594.943 Y=-77.732 Z=0.000
    LocalVelocity:X=-0.000 Y=600.000 Z=0.000
  4. 创建UpdateRoationData函数,勾选线程安全
    在这里插入图片描述
  5. 创建GetMovementComponet函数,勾选线程安全,纯函数。返回值一定要设置为ReturnValue
    在这里插入图片描述
  6. 新建UpdateAccelerationData函数,构选线程安全,与UpdateVelocityData逻辑相同
    在这里插入图片描述
  7. 在动画图表中创建Locomotion_SM状态机
    在这里插入图片描述
  8. 在Locomotion_SM状态机中添加状态
    在这里插入图片描述
  9. 新建动画->动画层接口,命名为ALI_CharacterBase,在右上角动画层中新建4个动画层:FullBody_Idle,FullBody_Start,FullBody_Cycle,FullBody_Stop
  10. 在ABP_CharacterBase动画蓝图的类设置中,选择ALI_CharacterBase为已实现的接口,在状态机的各个状态中,将相同的动画层输出,如Idle
    在这里插入图片描述
  11. 新建ABP_ItemLayersBase动画蓝图,选择ALI_CharacterBase为已实现的接口。用于实现动画的逻辑,如动画的动态切换,动画的距离匹配等
  12. 在ABP_ItemLayersBase中创建4个变量,类型为动画序列。Idle, Start, Cycle, Stop。在4个动画层中,分别用序列播放器播放动画,其中FullBody_Start,FullBody_Stop要将循环动画取消勾选
    在这里插入图片描述
  13. 新建ABP_ItemLayersBase的子类ABP_ItemLayersUnarmed,在右上角添加要使用的动画序列。记得使用的动画需要使用根运动,并强制根锁定
  14. 在角色蓝图中关联动画层
    在这里插入图片描述
  15. 点击运行就可以看到效果了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值