美文网首页
GAS - Gameplay Tag

GAS - Gameplay Tag

作者: 珏_Gray | 来源:发表于2019-03-20 11:56 被阅读0次

    Gameplay tag在GAS中是很重要的标记,与Ability、Event和Effect关联紧密,用来表示各种状态。Cooldown(技能冷却)也是利用tag完成的。Tags可以有层级,用“.”隔开,如"Family.Genus.Species",则父级为"Family.Genus",再往上为"Family"。通常一个游戏对象会有许多个tags,因此,引擎提供了Gameplay Tag Container来处理tag的问询(tag query)。Gameplay tag可用于任意项目,作用是识别、匹配、分组、过滤游戏对象。

    Gameplay Tag Not Component Tag

    现在Gameplay Tag插件在引擎中是默认开启的,但要注意gameplay tag和component tag的区别。

    Gameplay Tag Setting

    Gameplay Tag的设置界面在project settings中:


    创建Gameplay Tags

    创建(删除)gameplay tags的三种方法:

    • 在gameplay tags设置界面手动添加和删除。默认的tags信息会保存到 Config/DefaultGameplayTag.ini文件里。


      勾选Import Tags from Config会加载Config/DefaultGameplayTag.iniConfig/Tags/xxx.ini中的信息。
    • 直接编辑.ini文件

      ActionRPG的DefaultGameplayTag.ini
    • 使用Data Table Assets
      编辑行类型为 GameplayTagTableRow的DataTable,然后添加到设置界面的GameplayTagTableList中 。

    管理Gameplay Tags


    如图可以对tags进行重命名,删除,查找引用等操作。

    设置编辑限制(Editing Restriction)

    可以禁用对特定标签的编辑,用的不多,详见官方文档。
    https://docs.unrealengine.com/en-us/Gameplay/Tags

    Gameplay Tag Test Operation(标签的检测操作)

    标签之间可以进行匹配。操作对象为gameplay taggameplay tag container。表中{}表示tag container

    操作一览
    蓝图例子
    Gameplay Tag Queries(标签问询)

    可以创建tag query对象,使得匹配更有效率。





    Using Gameplay Tags In Your Game

    说了那么多,如何使用gameplay tags呢?很简单,给对象添加gameplay tags(FGameplayTag)或Gameplay Tag Containers(FGameplayTagContainer)变量即可。
    如果使用GAS,则gameplay tag会被ability,effect等使用,不必手动添加gameplay tag和tag container对象。

    Quickly Accessing Gameplay Tags in C++

    引擎提供了IGameplayTagAssetInterface接口,通过重写该接口的GetOwnedGameplayTags函数,可以方便地在不同类的对象中使用相同接口获得gameplay tags。

    相关文章

      网友评论

          本文标题:GAS - Gameplay Tag

          本文链接:https://www.haomeiwen.com/subject/jtlzmqtx.html