12.UE5朝向鼠标攻击,状态机入门

server/2024/11/12 18:14:51/

2-14 朝向鼠标、怪物死亡、状态机、纯函数_哔哩哔哩_bilibili

1.朝向鼠标攻击

之前我们设置了角色移动时,将自动朝向移动的方向

 我们需要再攻击时,先将这个关闭掉

 随后获取光标的朝向,并只将yaw设置为角色的朝向,然后播放动画,并设置攻击完毕,恢复将朝向运动方向的设置

2. 状态机补充

因为视频原作者讲到了状态机部分,且该2D案例并不适合应用讲解状态机,下面用一个3D世界的教程讲一下状态机的入门。原视频地址:UE5游戏开发基础教学第五课(下)——动画蓝图、状态机_哔哩哔哩_bilibili

2.1导入素材

 创建character

 利用UE5自带的第三人称模板,实现Charactor的移动和跳跃,直接将UE5自带的第三人称模板中的移动逻辑,复制到我们新建的BP_Hero中

然后创建动画蓝图,并保存下列的动画序列

然后创建角色的动画蓝图。

2.2移动跳跃。

新建状态机命名为移动跳跃

移动跳跃中包含两个状态,分别时待机/跑,跳跃

 双击条件转移的箭头,将Can Enter Transition拉出来,提升为变量 isAir,意思为当角色在空中时候将待机/跑-->跳跃状态

 随后在动画蓝图更新时,获取角色是否在空中,并更新isAir变量

 同理,当角色不在空中时,从跳跃-->待机/跑。

 2.3实现待机/跑

双击进入待机/跑的节点

使用1D混合空间,很容易是心啊待机和跑的动画,并输出。

 2.4实现跳跃状态

双击进入jump节点

由于跳跃状态分为,起跳,滞空,落地,回复待机状态,多个阶段,需要在这个节点中嵌套使用状态机。

 并按照,起跳,滞空,落地,回复待机状态的顺序创建多个状态

 其中绿色箭头为自然过渡,红色箭头由isAir来判断

 isAir来判断是否从状态air-->land

 自然过渡,可以通过设置基于状态序列播放器的自动规则实现。

下面分别时start  air   land   recover的蓝图逻辑

 start节点中的蓝图逻辑

air中的蓝图逻辑

land中的蓝图逻辑

recover中的蓝图逻辑


http://www.ppmy.cn/server/141000.html

相关文章

【模型学习之路】手写+分析GAT

从GNN,到GCN,再到GAT 目录 文章目录 前言 GNN GCN GAT 公式 注意力实现 公式对比 多头注意力实现 测试&可视化 前言 读本文前,可以先过一遍【GNN图神经网络】入门到实战完整40讲!同济大佬用大白话的方式从零到一讲…

C++顶层const与底层const

顶层const意味着被修饰的对象本身是一个常量。 顶层const可以用来修饰基本数据类型(如int、float等)和自定义类型(如结构体、类等)的对象。 顶层const修饰的对象的值不能被修改,但是该对象可以被赋予另一个值&#xf…

股民情绪识别的LSTM-NBM混合模型

大家好,我是带我去滑雪! 利用之前爬取2023年10月17日至2024年7月13日的65万余条东方财富网的上证指数股吧的股民评论数据,基于jieba库对股民情绪进行识别,在进行中文分词、去除停用词、合并同义词和长短句分离后,对长文…

备忘录模式:保存对象状态的设计模式

1. 引言 在软件开发中,常常需要保存一个对象的状态,以便将来能够恢复到该状态。在某些情况下,这种需求显得尤为重要,例如在撤销操作、版本控制以及游戏进度保存等场景中。备忘录模式(Memento Pattern)正是…

Python 数据可视化详解教程

Python 数据可视化详解教程 数据可视化是数据分析中不可或缺的一部分,它通过图形化的方式展示数据,帮助我们更直观地理解和分析数据。Python 作为一种强大的编程语言,拥有丰富的数据可视化库,如 Matplotlib、Seaborn、Plotly 和 …

react 类组件和函数组件区别

一 类组件需要使用this关键字来访问props和状态,而函数组件则可以直接访问这些值。原来只有类组件可以使用的特性,比如状态和生命周期方法,现在函数组件通过Hooks也可以使用。函数组件通常更简洁,更易于测试和理解。类组件目前仍…

什么是红黑树

红黑树是一种自平衡的二叉查找树,在计算机科学中常用于组织数据,如数字块等,其典型的用途是实现关联数组。以下是对红黑树的详细介绍,以及左旋、右旋、变色等操作的解析: 一、红黑树简介 起源与命名:红黑树…

算法训练(leetcode)二刷第二十一天 | 491. 非递减子序列、*46. 全排列、*47. 全排列 II、D

刷题记录 491. 非递减子序列*46. 全排列*47. 全排列 IID 491. 非递减子序列 leetcode题目地址 题目提供的数据有重复,但结果集中不可有重复组合,且不允许排序,因此需要借助Set或额外的hash表进行标记当前层是否使用了相同元素。 时间复杂度…