-
UE Lyda项目学习 一、基础移动
- 创建ABP_CharacterBase动画蓝图,打开
- 新增Blueprint Thread Safe Update Animation Function方法,细节面板->高级勾选线程安全
- 创建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 - 创建UpdateRoationData函数,勾选线程安全

- 创建GetMovementComponet函数,勾选线程安全,纯函数。返回值一定要设置为ReturnValue

- 新建UpdateAccelerationData函数,构选线程安全,与UpdateVelocityData逻辑相同

- 在动画图表中创建Locomotion_SM状态机

- 在Locomotion_SM状态机中添加状态

- 新建动画->动画层接口,命名为ALI_CharacterBase,在右上角动画层中新建4个动画层:FullBody_Idle,FullBody_Start,FullBody_Cycle,FullBody_Stop
- 在ABP_CharacterBase动画蓝图的类设置中,选择ALI_CharacterBase为已实现的接口,在状态机的各个状态中,将相同的动画层输出,如Idle

- 新建ABP_ItemLayersBase动画蓝图,选择ALI_CharacterBase为已实现的接口。用于实现动画的逻辑,如动画的动态切换,动画的距离匹配等
- 在ABP_ItemLayersBase中创建4个变量,类型为动画序列。Idle, Start, Cycle, Stop。在4个动画层中,分别用序列播放器播放动画,其中FullBody_Start,FullBody_Stop要将循环动画取消勾选

- 新建ABP_ItemLayersBase的子类ABP_ItemLayersUnarmed,在右上角添加要使用的动画序列。记得使用的动画需要使用根运动,并强制根锁定
- 在角色蓝图中关联动画层

- 点击运行就可以看到效果了。
-
相关阅读:
基于Java的校园“研帮”系统的设计与实现毕业设计源码201433
算法练习-LeetCode 剑指 Offer 33. 二叉搜索树的后序遍历序列
BERT论文精读
机器学习:随机森林
基于 ResNet18 架构使用 deformable convolution的车道线检测
虚幻引擎 UE5 增强输入系统
华清远见上海中心22071班
1.TCP/IP基础知识
LoadRunner常用函数和参数化
python facebook business SDK campaign 广告复制方法
-
原文地址:https://blog.csdn.net/luslin1711/article/details/127567220