当前位置: 首页 > news >正文

学习做动画3.八方移动

1.打开ABP_CharacterBase,创建一个新函数命名为UpdateCardinalDirectionFromVelocity(由速度更新方向)

接着呢我们需要由这个计算出的方向来设置前进的方向的枚举。

先创建枚举

再创建一个函数,命名为SelectCardinalDirectionFromAngle,用来设置方向

先勾选上

纯函数的输入输出

设置三个局部变量

再进行判断

再回到UpdateCardinalDirectionFromVelocity,我们就可以设置方向了

同时要在线程安全上使用

2。现在我们有了角色当前前进的方向,接下来需要设置对应方向的动画逻辑

我们先新建一个结构用来代表四个方向的动画

我们需要进行方向适配的有三个动画层,Stop、Cycle、Start

在Start内,我们只需要在绑定的函数“变为相关时”进行方向的判断。其中,执行“变为相关时”的函数仅在进入这个状态时执行一次,而“更新时”则是每帧都执行

我们先从Start开始。打开SetupStartAnim(),我们进行这样的操作。通过propertyaccess节点或取到当前的枚举,然后通过枚举来设置动画序列。

然后我们回到Start这里,将序列设为动态值

然后是Cycle,一样的操作,将序列设为动态值。

然后进入到UpdateCycleAnim,同样需要新建一个变量

接着到Stop

然后进入SetUpStopAnim

此时可以把之前设置的三个序列删除了

3。我们在ABP_LayerBase内设置好后,打开其子类,可以发现我们可以分别设置他们的动画了

进行设置就好

我们需要进入到Start与Cycle的动画里进行设置步数匹配

(就是这个)

接下来呢,我们回到LayerBase内,打开Start部分,我们需要为Start与Cycle添加一个朝向扭曲

对Cycle也是一样的操作。

然后打开玩家蓝图

此时启动项目,角色八方移动时,下半身都能朝向移动的方向。

http://www.dtcms.com/a/350814.html

相关文章:

  • SW - 增加导出STL数据中的三角面数,增加别人逆向建模的难度
  • Excel比较两列的值是否相同
  • ViT系列网络系统性分析:从架构创新到未来趋势
  • SSH 反向隧道:快速解决服务器网络限制
  • Frida JavaScript API 总结
  • 【数据库】dbeaver 查询clickhouse,表内时间与真实时间差8小时
  • 基于Springboot + vue3实现的宿舍管理系统
  • [pilot智驾系统] docs | 用户界面状态(UIState)
  • 第十八节:骨骼动画 - 角色动画控制
  • 时间序列异常检测实战:HMM与LSTM方法解析
  • 在华为云服务器上使用Ansible部署LNMP环境【玩转华为云】
  • Ubuntu22.04 解决eth0未托管问题
  • golang 基础类 八股文400题
  • Redis面试精讲 Day 30:Redis面试真题解析与答题技巧
  • 蓝牙AOA定位方案:重塑精准定位新纪元,赋能行业智能化升级
  • 16-day13强化学习和训练大模型
  • 深入理解 Roo Code 的自动批准功能
  • Node.js(1)—— Node.js介绍与入门
  • 从0开始学习Java+AI知识点总结-25.web实战(AOP)
  • 人工智能-python-深度学习-数据准备
  • 路径总和。
  • 同一性和斗争性
  • 使用 gemini api + 异步执行,批量翻译文档
  • 【Task04】:向量及多模态嵌入(第三章1、2节)
  • 解锁表格数据处理的高效方法-通用表格识别接口
  • sudo 升级
  • Spring Boot 项目打包成可执行程序
  • 3秒传输大文件:cpolar+Localsend实现跨网络秒传
  • 内核编译 day61
  • Ubuntu安装及配置Git(Ubuntu install and config Git Tools)