简介:
GameplayTag原本是用在GAS(GameplayAbilitySystem,技能系统插件)中,但是现在出现在UE4默认类型中,明显GameplayTag可以用在其它很多地方。与Actor Tag或Component Tag等字符串类型的Tag不同, GameplayTag更像是与Category一样具有层级结构,因此可以用作识别、匹配、分类或过滤对象。
- 优点:使用概念标签给对象快速归类,便于管理。
- 缺点:完全由用户自定义,需要设计一个好的分类结构,才能发挥作用。
详细说明可查看官方说明文档(包含GameplayTag的创建,删除,管理,查询),下面简单介绍一下相关类型。
相关类型:
在编辑器中新建变量可以看到与GameplayTag的类型如下:
GameplayTag:
- 层级概念标签,编辑器中可以看到对它做了完整的可视化编辑
- 可在Project Setting->GameplayTags、.ini文件、DataTable、变量细节面板中创建和编辑
- 里面保存了一个FName作为TagName
GameplayTagContainer:
- GameplayTag的容器,对于有多个GameplayTag的对象,可改用GameplayTagContainer代替
GameplayTagQuery:
- 作用于GameplayTagContainer的复杂匹配
GameplayTagTableRow:
- 用于创建数据表格,方便创建GameplayTag,需要在Gameplay Tag Setting引用生效。
- 感觉没什么用
总结:
GameplayTag创建和使用都比较方面,使用它最主要的问题还是,如何为一组对象设计一个好的层级分类结构。