




功能
- 在蓝图中定义游戏属性
- 向蓝图公开的 UAttributeSet API(PostGameplayEffectExecute、Pre/PostAttributeChange 等)
- 内置限制
- 自定义蓝图编辑器(工具栏、数据验证、详细信息)自定义)
- 复制
- MMC 和 Exec 类支持(可在蓝图中实现)
- 保存游戏支持(保存/加载游戏属性)
其他
- 将蓝图定义的属性移植到 C++ 的向导(注意:这是可选)
- 引用处理程序(当在蓝图编辑器中重命名属性时,会将游戏效果中之前的引用替换为新的属性名称)
代码模块
- BlueprintAttributes(运行时)- 主运行时模块
- BlueprintAttributesEditor(编辑器)- 主编辑器模块
- BlueprintAttributesDeveloper (UncookedOnly) – 未煮熟,仅实现自定义 K2 节点
- BlueprintAttributesScaffold(编辑器) – 用于 C++ 生成/脚手架的编辑器模块
- BlueprintAttributesEditorCommon(编辑器) – 具有共享通用代码和实用程序的编辑器模块
插件依赖项
- GameplayAbilities(引擎插件)
- RigVM(引擎插件,适用于引擎 5.3 及更高版本)
蓝图数量:0
C++ 类数量:~70(67 个头文件)
网络复制:是
支持的开发平台: Windows、Linux、MacOS
支持的目标构建平台:Windows、Linux、MacOS
文档(幻灯片) • Discord 服务器 • 示例项目 • 视频
蓝图属性是游戏能力系统 (GAS) 的插件扩展。它解决了一个基本限制,使 AttributeSet 可蓝图化,并将游戏属性和属性集完全暴露给蓝图。
默认情况下,虚幻引擎及其 GAS 插件要求仅在本机代码中创建游戏属性和属性集,从而无法创建蓝图。此限制可能对游戏设计师和蓝图开发人员造成限制,阻碍他们快速迭代属性设计的能力。
此插件尝试缓解此问题,并在属性集和游戏属性的编辑器和蓝图中实现 100% 的工作流程。
需要注意的是,它不会改变 GAS 的工作方式并与现有的 GAS 工作流程完全集成(BP 定义的属性集仍然是 UAttributeSet)。
功能
这个插件 Blueprint Attributes 旨在增强完全在编辑器中创建和管理属性和属性集的整体体验。
其主要值得注意的功能包括:
- 在蓝图中定义属性
- 与游戏玩法的交互效果
- 内置钳位
- MMC(幅度修改器)计算)和Exec类(游戏效果执行计算),可在蓝图中实现
- 保存游戏支持和序列化
- 复制和多人游戏支持
- 独立/无依赖项(除了 GameplayAbilities 插件本身)
- 与 Lyra 兼容,并与 GAS Companion 或您自己的 GAS 完美集成
它被开发为一种解决方案,旨在在虚幻引擎中使用 GAS 属性和属性集时摆脱本机代码的限制。通过提供用户友好且多功能的属性管理方法,它为开发人员提供了支持,加速了迭代周期,并与现有的 GAS 工作流程无缝集成。
扩展项目应该不会那么困难
默认情况下,如果没有蓝图属性插件,属性和属性集必须在本机代码中创建;它们无法在蓝图中创建。蓝图属性旨在缓解该问题,并使游戏设计师和蓝图开发人员能够快速迭代他们的属性设计。
随着项目的增长,速度不可避免地会变慢,尤其是在团队的 C++ 资源有限或很少/没有 C++ 开发人员的情况下。定义新属性集、添加、重命名或删除游戏属性等任务开始消耗时间,并为 C++ 工程师造成瓶颈。
此插件旨在改进这一点。
它附带了近 70 个 C++ 类,可提供最佳的开发人员体验,并忠实于游戏能力生态系统和工作流程。其中包括带有 UAttributeSet 继承的运行时模块、自定义 UBlueprint 和 FBlueprintEditor、编辑器模块、多个详细信息自定义类和 Slate 小部件。
此外,它还包括一个脚手架模块或“属性向导”,以帮助在原型阶段完成后从蓝图中定义的属性转换为 C++ 类(注意:这是可选的)。该向导使用在蓝图中创建的 AttributeSet 及其定义的属性来生成适当的 C++ 类。然后,您可以选择继承它(蓝图中定义的属性属性现在将像以前一样在本机代码中定义),或者消除以前的蓝图实现并将所有游戏属性引用(在游戏效果、K2 节点等中)更新为其新的本机对应项。
制作人员
特别感谢 Metaseven、MighteeMouse、 Drakynfly、Kite 和 OneSilverLeaf 在 Discord 上提供反馈和测试。
致 Epic 在发布后不断改进 GAS 版本,并使其更易于访问(对蓝图开发人员和一般人而言)。

评论(0)