描述
文档
(幻灯片) •
Discord 服务器 •
示例项目 •
视频教程
Blueprint Attributes 是游戏性能力系统(GAS)的一款插件扩展。它解决了GAS的一项核心限制,使AttributeSet支持蓝图化开发,并将游戏性属性(Gameplay Attributes)和属性集(Attribute Sets)完全开放给蓝图系统。
默认情况下,虚幻引擎及其GAS插件要求游戏性属性和属性集必须完全通过原生代码创建,无法在蓝图中实现。这一限制对游戏设计师和蓝图开发人员而言十分受限,严重阻碍了他们在属性设计上的快速迭代效率。
本插件旨在缓解这一问题,让开发者能够在编辑器和蓝图环境中100%完成属性集与游戏性属性的开发流程。
需要重点说明的是,该插件不会改变GAS的核心工作逻辑,且能与现有GAS工作流完全兼容(通过蓝图定义的属性集本质上仍为UAttributeSet类型)。
核心功能
这款Blueprint Attributes插件致力于优化在编辑器内创建和管理属性、属性集的全流程体验。
其主要核心功能包括:
- 在蓝图中定义属性
- 与游戏性效果(Gameplay Effects)的交互
- 内置数值钳制(Clamping)功能
-
MMC(数值修正计算)和
执行类(游戏性效果执行计算),支持蓝图实现 - 存档(Save Game)支持与序列化
- 网络同步(Replication)与多人游戏支持
- 独立部署 / 无额外依赖(仅依赖GameplayAbilities插件本身)
- 兼容Lyra项目,可与GAS Companion或自定义GAS后端无缝集成
该插件是解决虚幻引擎中GAS属性和属性集只能通过原生代码开发这一限制的方案之一。它通过提供易用且灵活的属性管理方式,赋能开发人员、加快迭代周期,并与现有GAS工作流无缝兼容。
项目扩展不应如此繁琐
若无Blueprint Attributes插件,默认情况下属性和属性集必须通过原生代码创建,无法在蓝图中实现。本插件旨在缓解这一问题,让游戏设计师和蓝图开发人员能够快速迭代属性设计。
随着项目规模扩大,开发效率必然下降——尤其是当团队的C++开发资源有限或缺乏C++开发人员时。诸如定义新属性集、新增/重命名/删除游戏性属性等任务,会占用大量时间并成为C++工程师的工作瓶颈。
本插件正是为改善这一现状而生。
插件内置近70个C++类,旨在提供最佳开发体验,同时严格遵循游戏性能力系统(GAS)的生态与工作流规范。其中包含:一个可继承UAttributeSet的运行时模块、自定义UBlueprint和FBlueprintEditor、编辑器模块、多个细节自定义类以及Slate控件。
此外,插件还提供了一个脚手架模块(即“属性向导”),可在原型开发阶段完成后,将蓝图中定义的属性平滑迁移至C++类(注:此功能为可选)。该向导会基于蓝图中创建的AttributeSet及其定义的属性,自动生成对应的C++类。开发者可选择继承该类(此时蓝图中定义的属性将转为原生代码实现,恢复传统开发模式),或移除原蓝图实现,并将所有游戏性属性引用(如游戏性效果、K2节点等)更新为新的原生属性。
致谢
特别感谢Discord社区的Metaseven、MighteeMouse、Drakynfly、Kite和OneSilverLeaf提供的反馈与测试支持。
同时感谢Epic Games持续迭代优化GAS,使其对蓝图开发人员及广大开发者更加友好。
©版权声明:本站除原创作品外的资源均收集于网络,只做学习和交流使用,版权归原作者所有,若作商业用途,请购买正版。



评论0