这个笔记主要记录的是Lyra初学者包概览笔记的相关内容。里面介绍了如何创建关卡、输入、武器和技能。
这个笔记只记录一些对我有用的信息,如果需要查看完整内容,还请查看官方视频。
项目可以直接在官方引擎找到免费下载,比其它教程只有视频没有项目好多了

Unreal 5 Lyra初学者游戏包概览笔记_笔记


基础的元素:

  • 角色和Pawn是在游戏中控制的游戏对象
  • Controller 控制,代表着如何控制pawn 客户端向服务器发送请求的通道
  • 玩家状态 储存着其它玩家需要知道的关于你的信息 比如玩家的得分情况,血量
  • 游戏状态 用来存储游戏的综合信息 比如游戏阶段和剩余时间

这些类很容易产生结构性问题,造成耦合问题,自此引出模块化。

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_02

项目里面包含五种案例:

  1. UI
  2. 淘汰模式
  3. 抢据点模式
  4. 炸弹人模式
  5. 默认

Unreal 5 Lyra初学者游戏包概览笔记_数据_03


Lyra还提供了联网功能,

  • 快速游戏可以寻找到当前已经建立的房间,如果没有则自己创建一个
  • 创建一个游戏 本地或者联网的 真人或者机器人的
  • 寻找别人创建的房间

然后接下来讲解了一下每种游戏的玩法

资源管理

在Lyra中,资产管理都是在GameFeatureData中管理,游戏逻辑可以在运行时动态管理他们是否激活,而不是必须需要预先设置。在Lyra中由Experience相关的类去控制,这个下面会讲。

这个类还列出了激活前需要的操作,就是Actions列表的相关操作。它们会在状态切换成激活的时候执行。

并且可以扩展资产管理器Asset Manager,这个会单独出一篇文章。

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_04


Actions是实现模块化设计的一个重要组成部分。它能够包含在GameFeatures和Experiences中,将负责在启用或禁用时预先加载必要的资产和运行代码。

说的就是上面那个操作的列表,常见的有,Add Abilities 添加技能 Add Components 添加组件 Add Widgets 添加ui控件

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_05


添加技能是给pawn对象添加新的能力

添加组件可以给不同类型的actor增加新的逻辑

添加控件是在屏幕上添加新的用户界面

模块化

如果要彻底弄懂这一块,需要去查看c++源码,我这里只对视频里面涉及到的东西做一下总结。

模块化结构首先要有一个设置游戏功能插件的入口,在Lyra游戏中,一张地图的主入口就是在Lyra User Facing Experience Definition 类里面描述,在这个文件中,指定了一个玩法还有地图等所有的内容。Lyra User Facing Experience 的文件会在ui地图列表中加载,ui拿着相应的数据,生成在前端显示的内容,如果点击了相应的地图,也会根据里面数据去加载关卡内容。

它实现了将玩法和地图相结合。

Unreal 5 Lyra初学者游戏包概览笔记_游戏_06


Map ID :需要加载的地图,通过点击ui进入游玩的地图场景

Experience ID :当前地图玩法相关的内容

Extra Args :作为URL选项传递给游戏的额外参数

Tile Title :在ui上面显示的主标题

Tile Sub Tile :在ui显示的副标题

TIle Description :在ui显示的地图描述

Tile Icon :在ui上显示的图标

Is Default Experience :是否是默认玩法,如果设置为true,此地图可以快速匹配,并在ui排列中靠前显示

Show In Front End :设置为true,此地图将在地图ui列表中展示

Record Replay :记录回放,设置为true,将记录比赛的回放记录。

Max Player Count :最大玩家数

Loading Screen Widget:场景加载时的ui设置

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_07


上图就是设置以后在ui里面的显示效果。里面的Experience ID 定义玩法和规则,参数是一个蓝图类,Lyra Experience Definition,这个蓝图内设置了四种内容,玩法,玩家或者机器人控制的pawn

Unreal 5 Lyra初学者游戏包概览笔记_数据_08


下面的这个是俯视角炸弹人玩家的蓝图类

Unreal 5 Lyra初学者游戏包概览笔记_笔记_09

Pawn的数据

Pawn的数据类型是LyraPawnData

Unreal 5 Lyra初学者游戏包概览笔记_数据_10


Pawn Class 实例化可以操控的角色的类

Abilities 赋予玩家的初始技能集

TagRelationship Mapping 技能关系映射输入配置

Input 角色操控配置,主要就是什么按键会触发

Default Camera Mode 使用的相机模式

技能集

技能集的数据类型是 LyraAbilitySet,里面包含技能游戏玩法效果(gameplay effects,简称GE,是Abilities改变自己或别人的Attributes 和GameplayTags的途径 )

Unreal 5 Lyra初学者游戏包概览笔记_游戏_11


技能集可以通过英雄数据赋予、通过experiences或游戏中的actions提供,也可以通过装备提供。

技能可以让角色执行新的主动技能或被动技能

主动技能包括跳跃、扔雷等。

被动技能是指可以自动触发的技能,比如死亡后自动复活

玩家身上的属性是以数值的形式公开给技能系统的,比如血量,炸弹数量

角色相关

新的测试模型Manny Quinn它们是用MetaHuman骨骼创建出来的,包含丰富的动画设置,增加了新的重定向,可以将动画定向到任意骨骼网格体上面。
(Linked Animation)链接动画层允许动画蓝图以模块化的方式构建具有高级运动系统的角色,还能让游戏实现更好的内存管理,因为大量的动画层可能不会同时加载
Distance matching(距离匹配是通过移动输入的实际位移驱动动画播放位置,表现出速度与动画播放位置相对于的现象,以解决起步或停步时的滑步问题) 和 stride warping(步幅适配是动态调整角色的动画步幅来匹配胶囊体移动速度的一种姿势扭曲节点。)相结合可以让动画适应不同的玩家移动速度
Orientation warping(方向适配是为了用4方向移动实现360度无死角移动的技术。是Paragon用于解决混合空间的融合不可靠的问题提出的)是为了让动画适应不同的运动角度
Turn in place (原地转身)是可以让原地转身的并且没有移动的玩家呈现自然的原地转身动画,在转动幅度过大时播放重新定位动画。
Foot placement via control rig (脚步放置系统)会尝试在动画循环中在角色接触地面的时候,让角色双脚平稳的落在不同的表面,不会穿透地面。

使用自定义角色

Simple Cosmetics System (简单的换装系统)实现了显示角色的替换功能,将actor添加到骨骼上面,下图是通过调用AddCharacterPart方法,选择机器人设置显示。

Unreal 5 Lyra初学者游戏包概览笔记_游戏_12


并且在偏好向这里,你还可以直接替换模型进行测试

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_13


如果实现使用角色修改,我们首先需要模型,直接从metahuman创建的模型

Unreal 5 Lyra初学者游戏包概览笔记_游戏_14


然后再偏好向那里,可以直接设置,这属于调试的方式

Unreal 5 Lyra初学者游戏包概览笔记_游戏_15


蓝图有了,但是metahuman不自带动画的,我们需要使用制作一个动画蓝图,动画蓝图内也没什么内容,就是从网格体重定向姿势,姿势在Lyra的网格体上面去获取,IK重定向器资产直接选择metahuman带的RTG_metahuman,关于ik重定向我的其它文章已经讲过这里就不再多说。

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_16

再次进入游戏,发现,所有的角色都替换成了你设置的角色样子,并且还无法区分队伍

Unreal 5 Lyra初学者游戏包概览笔记_数据_17

修改队伍颜色

Team Color System(队伍颜色系统)支持你修改队伍的材质和Niagara系统,实时切换,修改完数据直接查看修改效果。

要实现角色根据队伍颜色变动,需要先找到角色身上的材质

Unreal 5 Lyra初学者游戏包概览笔记_数据_18


在材质上面找到影响颜色的属性

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_19


这里有两种方式实现颜色修改:

  1. 在主材质里面将颜色属性名称修改成队伍资产里面的名称(不推荐)
  2. 将名称增加到队伍资产

队伍资产数据路径在:

Unreal 5 Lyra初学者游戏包概览笔记_数据_20


一般用到的就是蓝和红,在红色和蓝色队伍配置里面分别增加一项颜色配置

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_21


Unreal 5 Lyra初学者游戏包概览笔记_数据_22


接着,再重新运行游戏,你会发现角色身上只要颜色配置是这个名称的材质属性值都会变更掉。

Unreal 5 Lyra初学者游戏包概览笔记_笔记_23


实现原理,在类B_Hero_ShooterMannequin中

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_24


在事件开始运行时,会监听队伍变动

Unreal 5 Lyra初学者游戏包概览笔记_数据_25


这个事件会去获取队伍id和队伍数据,并调用切换事件

Unreal 5 Lyra初学者游戏包概览笔记_游戏_26


如果角色的部件切换,也会触发相关事件

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_27


在On Team or Cosmetics Changed函数中,处理了两部分,第一部分是后处理,设置描边颜色,更新队伍的模板测试(渲染效果)

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_28


另一部分就是调用C++写的函数,用来修改当前使用角色身上的材质

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_29

增强输入

增强输入我之前写过相关的文章,也是之前看这个视频了解到的,可以直接将一整套的输入事件修改掉。

这里再多嘴一句,在增强输入中,Actions相当于是事件触发的事件,而输入上下文是将键位事件和Actions绑定的媒介,你可以制作多个输入上下文,比如,制作控制角色的上下文,控制车辆的上下文,并且还可以在控制车辆时,在里面设置相应的让角色做出某些动作的action事件触发。有多个上下文以后,你可以通过当前的状态直接切换上下文来实现不同的操作。

Lyra场景搭建

新建一个基础关卡

Unreal 5 Lyra初学者游戏包概览笔记_游戏_30


在Tools文件夹下面,会发现Lyra搭建好的程序化建模蓝图

Unreal 5 Lyra初学者游戏包概览笔记_笔记_31


使用Panel蓝图创建地面

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_32


拖入场景中,选中Handle,可以拖成理想的大小

Unreal 5 Lyra初学者游戏包概览笔记_数据_33


右侧细节的数值也会相应的变动

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_34


在生成栏目,设置路径名称,开启Nanite,并点击Generate New Static Mesh 生成静态网格体

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_35


在物体上面右键,在脚本化Actor行为下面有个转换为静态网格体,我们就可以使用此静态物体去拼接场景了

Unreal 5 Lyra初学者游戏包概览笔记_数据_36


如果发现这个静态网格体不行,想修改我们还可以再将静态网格体转换回来

Unreal 5 Lyra初学者游戏包概览笔记_数据_37


这个网格体每个长宽10米也就是1000厘米(虚幻里面的单位是厘米),我们可以摆出自己需要的样子

Unreal 5 Lyra初学者游戏包概览笔记_笔记_38


学会了这种方法,你可以根据自己的需求去搭建出来理想的关卡,关于那些武器血量包等拾取的蓝图在ShooterCore内容中的Blueprint文件夹中,如果没有可以在右边设置显示插件内容即可。你需要将场景存储到他们一样的文件夹内,我放到内容文件夹,貌似无法将这些蓝图添加进入,放到Plugin目录下面就没问题了。

Unreal 5 Lyra初学者游戏包概览笔记_数据_39


地图制作完成以后,需要设置地图游戏玩法,在Default Gameplay Experience设置为B_ShooterGame_Elimination,这个是淘汰模式使用的玩法

Unreal 5 Lyra初学者游戏包概览笔记_游戏_40


然后就是设置玩家出生点,点击场景添加物体按钮,搜索Lyra,会找到所有Lyra相关的类,然后选择LyraPlayerStart

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_41


出生点添加完成,还不能让机器人移动,那么需要添加导航网格体体积

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_42


调整尺寸,让导航网格体体积包围整个场景,按p可以查看导航网格体体积生成的可移动区域。

Unreal 5 Lyra初学者游戏包概览笔记_数据_43


就是在偏好设置里面,找到Lyra Bots,第一个是设置生成数量,不勾选就是所有的出生点都会生成,Allow Player Bots to Attack 机器人是否可以攻击

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_44


直接点击运行游戏,就可以实现玩法。

Lyra角色创建逻辑

在制作地图时,我们添加了GamePlay Experience 游戏玩法体验来确定地图的玩法,这个文件在之前简单介绍过,就是确定场景的规则,以及玩家控制角色规则

Unreal 5 Lyra初学者游戏包概览笔记_笔记_45


比如在Actions这里,添加了场景相应的技能 组件和ui,AbilitySet_Elimination里面有两个技能,一个是解算面板,另外一个就是复活,将它们设置为了技能。组件这里就是给游戏状态添加组件或者给控制器添加,比如给控制器添加了随机生成Character的控件,ui这里则是添加了淘汰模式上面独有的计分的ui。

Unreal 5 Lyra初学者游戏包概览笔记_数据_46


在pawn数据这里,有默认的pawn的类,以及pawn所有的技能集输入配置以及映射,还有相机模式

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_47


技能集里面罗列出来了pawn所拥有的技能,技能的蓝图实现,技能等级,触发的tag

Unreal 5 Lyra初学者游戏包概览笔记_笔记_48


比如技能就是直接用蓝图实现的

Unreal 5 Lyra初学者游戏包概览笔记_数据_49


而这个tag,在输入里面会有相对应的增强输入的tag对应,没有输入对应,你有技能也无法触发。

Unreal 5 Lyra初学者游戏包概览笔记_数据_50


然后,pawn数据里面的Tag Relationship Mapping 则是标记关系映射,比如当前tag会锁定其它的tag无法触发,触发的会直接取消等等,里面就是描述的tag之间的关系。相当于输入触发pawn去调用tag事件,tag事件判断关系,能够触发会去触发相应的蓝图去实现逻辑这么一个流程的蓝图。

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_51


最后附上它们之间的关系图,输入映射将键位对应InputAction,InputConfig将InputAction对应InputTag,而InputTag对应一个技能,层层递进的感觉。

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_52

Lyra的武器物品的结构

Lyra内置的武器类在Plugins文件夹下面Weapon文件夹和Weapons文件夹中,里面包含了游戏中使用了手枪,霰弹枪和手雷

Unreal 5 Lyra初学者游戏包概览笔记_笔记_53


拿手枪举例,此定义了拾取手枪以后所需要的数据,图标,武器模型,状态动画等。

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_54


第一个片段是可以装备的武器的定义,后面主要就是详细说它

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_55


第二个则是武器的图标和子弹的图标

Unreal 5 Lyra初学者游戏包概览笔记_游戏_56


第三个片段定义了武器的弹夹容量,当前弹夹剩余子弹,以及备用子弹数量,如果你是回血包,还可以在这里设置回血量什么的。

Unreal 5 Lyra初学者游戏包概览笔记_数据_57


第四个片段是武器生成器显示的图标和底座颜色

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_58


第五个片段则是ui,显示的准星样式,和准星旁边的弹夹样式

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_59


手枪会默认给角色创建,视频也没说怎么默认添加到角色身上的。

接下来看一下上面第一个片段装备武器的定义WID_Pistol,这是一个纯数据蓝图

Unreal 5 Lyra初学者游戏包概览笔记_游戏_60


Actors to Spawn 则是装备武器时创建的相关配置,它是一个数组,意味着我们后面可以一次性装备多个武器左右一个有手一个

Actor to Spawn 武器拿在手上时的骨骼网格体蓝图类

Attach Socket 将武器添加到的骨骼命名

Attach Transform 添加到骨骼上时的相对位置变换

InstanceType 定义这是一件物品,这里定义了它是一把手枪其它可以定义见下图

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_61


在B_WeaponInstance_Pistol类中,它设置了子弹的行走路线,伤害,一次射击多少子弹,射程等。

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_62


Bullets Per Cartridge 每次射击的子弹数量,手枪一次是一发,但是霰弹枪一次会生成多个子弹

Max Damage Range 最大可以造成伤害的距离

Bullet Trace Sweep Radius 生成的子弹的碰撞体的半径,用于检测子弹与目标的碰撞检测使用

Distance Damage Falloff 距离衰减曲线

Material Damage Multiplier 经过测试是爆头的伤害倍率

Unreal 5 Lyra初学者游戏包概览笔记_笔记_63


Equip 为装备武器蒙太奇动画

Unequip 为收回武器蒙太奇动画

Melee 为使用武器敲击敌人的蒙太奇动画

Unreal 5 Lyra初学者游戏包概览笔记_游戏_64


射击的配置 Fire Params 配置项设置采用了过热了,准确率就会下降

Spread Exponent 扩散指数,射击时准星的准确率会扩散,指数约高,后坐力影响就越低。

Heat to Spread Curve 扩散曲线,x轴的值设置武器最小到最大的扩散范围,y轴用来定义最小到最大的扩展角度

Heat to Heat Per Shot Curve 每一枪增加的扩散范围,正常情况是一条曲线,如果只有一个值代表每一枪都会增加

Hea to Cool Down Per Second Curve 每秒恢复扩散范围值

Spread Recovery Cooldown Delay 扩散范围恢复延迟时间

Allow First Shot Accuracy 是否可以允许第一枪准确率完美朝着准星WID_Pistol 属性 Ability Sets to Grant 持有当前武器会赋予角色的技能集,当玩家装备此武器时,会使用技能集覆盖当前的持有的技能,这个里面有射击,换弹和自动换弹三个技能,里面也包含了对应的蓝图实现。Experience中的技能集是在运行时创建的,这意味着我们也能够重载它们。

Unreal 5 Lyra初学者游戏包概览笔记_数据_65


GA_Weapon_Fire_Pistol是一个纯数据蓝图,里面配置射击时的一些数据

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_66


GE Damage 是游戏伤害效果

Character Fire Montage是角色使用此武器射击时播放的动画

Fire Delay Time Secs 是射击时的时间间隔

Auto Rate 为开火速率

在Lyra中创建一把自定义的武器

先创建一个物品定义的类,命名为ID_SMG

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_67


然后先设置名称,添加片段,第一个先添加一个可装备的物品,装备的内容后面再创建

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_68


第二个片段就是装备后武器的icon的配置,这些内容会去修改ui上面的图标和名称

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_69


第三个片段就是设置弹药的数量

Unreal 5 Lyra初学者游戏包概览笔记_数据_70


第四个片段就是添加武器的准星

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_71


第五个片段增加拾取拾取武器的样式,这里修改了颜色和名称

Unreal 5 Lyra初学者游戏包概览笔记_数据_72

这个类定义完了,还有一项没有设置,那就是拾取物品的定义,先创建一个类继承至LyraEquipmentDefinition,命名为WID_SMG,这个类里面需要定义物品类型,拾取后赋予玩家的技能集,以及装备时显示的模型设置

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_73


生成的pawn这里还是按照手枪的设置

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_74


技能集这里,赋予玩家的技能,我们需要重新创建一个类

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_75


创建一个数据资产

Unreal 5 Lyra初学者游戏包概览笔记_笔记_76


数据资产实例的类选择LyraAbilitySet,命名AbilitySet_SMG

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_77


打开需要在里面添加三个技能,装备武器,收回武器,以及自动换弹

第一个设置tag为自动射击

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_78


第二个设置tag为reload,换弹

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_79


第三个设置为自动换弹,不需要tag触发,所以直接设置类,它会自动检测是否还有弹药,是否还有备用弹药,弹夹是否空了

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_80


接下来就是实现开火和换弹的逻辑,先实现开火,创建一个开火的类基础至GA_Weapon_Fire,命名GA_Weapon_Fire_SMG

Unreal 5 Lyra初学者游戏包概览笔记_数据_81


在类里面修改默认值,先修改开火动画,自动速率,以及触发射击的tag

Unreal 5 Lyra初学者游戏包概览笔记_数据_82


在消耗哪里,还需要设置当前武器的弹夹数量减少

Unreal 5 Lyra初学者游戏包概览笔记_游戏_83


设置完成编译然后设置到AbilitySet_SMG里面。

Unreal 5 Lyra初学者游戏包概览笔记_数据_84

接下里制作换弹逻辑,换弹逻辑直接基于手枪的类作为父类创建,命名GA_Weapon_Reload_SMG

Unreal 5 Lyra初学者游戏包概览笔记_数据_85


里面只将换弹的播放速率提高了,加快了换弹速度

Unreal 5 Lyra初学者游戏包概览笔记_游戏_86


然后设置到ABilitySet上面

Unreal 5 Lyra初学者游戏包概览笔记_笔记_87


武器实例那里还没有重新设置,创建一个基于手枪的武器实例,命名B_WeaponInstance_SMG

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_88


里面修改一下手枪的扩散速率,修改曲线,上面debug显示的数值也会跟着变动。

Unreal 5 Lyra初学者游戏包概览笔记_数据_89


冷却速率从手枪的10改为3,延迟冷却从0.2改为0.5

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_90


在WID_SMG里面设置实例类型为刚才创建的smg

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_91


最后,如果要添加到武器生成底座上面,还需要制作一个生成的数据基于LyraWeaponPickupDefinition,命名WeaponPickupData_SMG

Unreal 5 Lyra初学者游戏包概览笔记_数据_92


然后定义里面的数据,武器再生事件,如果为0,则不会再生,设置生成器上面显示的武器,以及物品栏物品定义为创建的ID_SMG

Unreal 5 Lyra初学者游戏包概览笔记_游戏_93


拖入场景中一个实例

Unreal 5 Lyra初学者游戏包概览笔记_游戏_94


设置相应的配置项,也可以修改颜色等。

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_95

在Lyra中创建一个新的技能

创建一个新的文件夹 命名为ForceField

Unreal 5 Lyra初学者游戏包概览笔记_数据_96


创建一个技能类,命名为GA_ForceField

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_97


里面有两个事件,分别是激活技能事件和结束技能事件

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_98


将类的默认值Replication Policy 修改为Replicate,这个技能将会复制给每一个实例,相当于每个角色都可以释放

Unreal 5 Lyra初学者游戏包概览笔记_笔记_99


创建节点 Get Lyra Character from Actor Info,它可以输出拥有这个技能角色

Unreal 5 Lyra初学者游戏包概览笔记_笔记_100


获取到角色周围一定范围内的所有的pawn

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_101


如果获取到了内容,将进行循环处理

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_102


接下来,要获取队伍子系统,这个子系统提供很多关于队伍相关的函数

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_103


比较自身和比对的角色是否同一个队伍,如果不同,将触发后续逻辑造成伤害

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_104


获取到角色技能组件

Unreal 5 Lyra初学者游戏包概览笔记_数据_105


调用给目标造成伤害的节点

Unreal 5 Lyra初学者游戏包概览笔记_游戏引擎_106


在队伍不同时,将获取目标的技能组件,并对技能组件造成伤害,遍历完成结束事件。

Unreal 5 Lyra初学者游戏包概览笔记_游戏_107


施加的伤害的类还没有设置,这里我们可以自己创建一个新的

Unreal 5 Lyra初学者游戏包概览笔记_笔记_108


或者直接使用伤害基础类GE_Damage_Basic_Instant,创建子类GE_ForceField

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_109


在类的默认值这里,伤害类型选择瞬间,还有无限持续,还有持续一定量级的

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_110


然后修改了造成的伤害

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_111


编译后,将类设置上去。

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_112


接下来,将实现按键触发,将Emote触发的跳舞事件修改掉,原来的是这样的

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_113


在场景中找到设置的玩法数据

Unreal 5 Lyra初学者游戏包概览笔记_数据_114


在里面找到生成默认pawn的数据

Unreal 5 Lyra初学者游戏包概览笔记_数据_115


再进入基础技能

Unreal 5 Lyra初学者游戏包概览笔记_数据_116


看到设置的emote的配置,设置的是这样的,Emote的tag是和B键绑定的

Unreal 5 Lyra初学者游戏包概览笔记_数据_117


把技能改成自定义的技能

Unreal 5 Lyra初学者游戏包概览笔记_unreal engine 5_118


进入场景然后再敌人旁边按B键,三下击败,完美实现。