Yerha's blog

标签 · GAS

首页

归档

UnrealGASEnhancedInputSystem

如何用 InputAction 来触发 GameplayAbility 的激活

GAS 作为管理技能和属性相关的灵活插件,使得开发制作角色扮演游戏、多人在线战术竞技游戏不再那么繁琐。另一方面,虚幻引擎将增强输入系统作为了默认输入组件,这不仅使得按下、按下并按住等常见功能逻辑作为了内置功能,还引入了上下文和优先级机制,使得我们可以将同一个按键在不同的上下文中发挥不同的效果。 如果有机会通过增强输入系统中的输入动作映射到 GAS 的技能激活,那么就可以以很优雅的方式在不同上下文中激活不同的技能。例如鼠标左键在未装备武器时激活挥拳技能、装备枪械时变为开火技能;空格键可以先作为跳跃技能的触发按钮,后期又可以灵活地替换成翻滚技能的触发按钮。本博文将讨论以下几点内容: 何时应该赋予角色技能,以及输入事件的绑定; 如何保证所有技能任务都正确工作,尤其是等待输入 ID 按下和释放的技能任务; 有些技..

继续阅读
loading..
UnrealGASBuildingSystem

如何将建造功能作为一种技能

(最终效果展示) 在很多提供建造玩法的项目案例中,往往是定义 ActorComponent 类并在那里实现启用建造功能、选择建造位置、轻微调整建筑物、生成建筑物等功能,随后角色类会使用该 ActorComponent 的实例,从而获得建造建筑的能力。这需要开发者处理玩家能否启用建造功能,例如当玩家获得阵亡、沉睡、眩晕等状态时需要阻止建筑功能逻辑的执行,并且停止正在进行的建造进程。 除此之外,很多解决方案还采取了引入若干个碰撞频道来实现建筑物对齐功能,这会至少引发三个问题:1. 迁移代码到其他项目时总是需要添加这些额外的碰撞频道;2. 每次引入新的碰撞频道时,需要检查之前的建筑物是否已经忽略了新频道,避免出现错误的对齐;3. 开发者需要检查每个 BoxComponent 是否正确阻挡了对应的频道,增加了因..

继续阅读