-
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,在右上角添加要使用的动画序列。记得使用的动画需要使用根运动,并强制根锁定
- 在角色蓝图中关联动画层
- 点击运行就可以看到效果了。
-
相关阅读:
【Xcode-宏定义配置】
Selenium web自动化测试环境搭建
C# 流Stream详解(3)——FileStream源码
Vmware虚拟机创建快照、克隆和备份 创建文件夹共享方法
『忘了再学』Shell基础 — 7、Bash基本功能(多命令顺序执行)
30天学习之-自动化测试
Torch知识点总结【持续更新中......】
Jmeter——BeanShell 内置变量vars、props、prev的使用
C++11标准模板(STL)- 算法(std::transform)
【云原生之Docker实战】使用Docker部署Snipe-It固定资产管理平台
-
原文地址:https://blog.csdn.net/luslin1711/article/details/127567220