首先打开工程是这样的,可以直接运行,就有游戏效果。


大纲中的BP_Game_Manager,在BP_Game_Manager中进行管理,并从两个数据表中提取数据DT_ExampleSpawn,用于默认情况下每7秒产生一次基础敌人,DT_ExampleEliteSpawn用于在特定时间繁殖精英敌人。

设置BP_Game_Manager,所有数据都从数据表中提取,并复制到EnemySpawns或EliteSpawns中,它们是ST_EnemyPawnType的数组。

为基础或精英敌人创建新的Spawn列表
直接编辑DT_ExampleSpawn,创建副本,或使用ST_Enemy当类型作为其基本结构创建新的数据表。

数据表中的参数:
Enemy敌人:BP_Base_Enemy的类引用-用于敌人的骨骼网格和动画
Allowed Wave允许的波动:当这个单位被允许在spawn。
Health生命:单位的最大生命。
Damage伤害:重叠时对玩家造成的伤害。
Soul灵魂:BP_Soul的类参考-用于在拾取时为玩家提供经验值。
Elite?精英?:Bool确定死亡时胸部是否应该下垂。
Scale HP to level?将HP扩展到等级?:Bool以确定该单位的最大生命值是否会乘以当前角色等级。
如果您创建了新的数据表,请确保在地图中的BP_Game_Manager上更新到正确的数据表。
添加角色
1.将新条目添加到DT_AvailableCharacters


a.从下拉列表中选择新角色的起始能力。
b.为角色选择骨架网格。
c.单击默认锁定复选框以锁定大厅屏幕中的角色(不选中该复选框可使角色默认在大厅中解锁)
d.为角色设置解锁成本
e.填写将在大厅显示的字符描述
f.输入字符名称
添加能力
主动能力
将能力添加到E_ActiveAbilities。

2. 在BP_Abilities组件中。

a.创建LevelUp(YourAbility)和Grant(YourAability)函数(基于现有的LevelUp和Grant函数)。
b.将所有枚举(在升级和授予函数中)更新为您的新能力。

c.在“Add to evo map”部分选择你想解锁新能力进化的被动能力。

d.在Grant_YourAbility中,将“按函数名称设置计时器”节点中调用的函数名称更改为Prepare_YourAbility 。

e.在Levelup_YourAbility中,在交换机的第一个选项上调用Grant_YourAbility。
3.在BP_Abilities_Component的能力图中创建新的能力逻辑。
a.创建Prepare_YourAbility事件
b.创建S_Execute_YourAbility事件
c.创建MC_YourAbility事件
类似以下蓝图:



4.在BP_Gameplay_Playercontroller
在Assign Ability函数中设置正确的Level up函数-其中应更新枚举

5.在BFL_Helper中
为您的新能力Enum更新FindActiveIcon的新图像。

6.更新DT_ActiveAbilities以了解能力级别提升的描述。
行名称必须是不带空格的枚举名称。
-1数字用于能力进化描述。

7.将Grant_YourAbility添加到BP_Abilities_Component中的RefreshAbility函数。

8.将LevelUp_YourAbility添加到BP_Abilities_Component中的SetStartingAbility函数

被动技能
1.将你的法术添加到E_PassiveAbilities

2.在BP_Abilities组件中
a.为您的新能力创建LevelUp函数-以LevelUpMaxHealth为例

b.将所有枚举更新为您的新能力
c.如果更改与能力有关,则直接更改组件中的变量
d.如果更改与字符有关,我们将在步骤4中通过对所有者的接口调用更改变量并更新接口

3.在BP_Gameplay_Playercontroller
在Assign Ability函数中设置正确的Level up函数-其中应更新枚举。
4.如果你的被动修改你的角色爪中的值-在你的角色蓝图中(参见示例BP_Base_Pawn)。
确保执行事件调整被动界面。让it Server Cast基于被动更新。

5.在BFL_Helper中:
使用新被动枚举的新映像更新FindPassiveIcon

6.更新DT_PassiveAbilities以了解被动升级的描述
行名称必须是不带空格的枚举名称

文章转载自
Thepoly