调用script方法_Ue4Config方法总结与另外一种GameplayTag管理方法

本文总结了在UE4中配置和管理GameplayTag的方法,包括通过GConfig、UObject、DataTable以及创建Console命令。重点讨论了配置设置的常见问题和解决策略,特别是对于GameplayTag的管理,提供了通过DataTable的高效方案。
摘要由CSDN通过智能技术生成

前言

最近在尝试对GameplayAbility进行插件化处理。这么做好处在于这样可以方便后续项目的迭代。UE4官方频道有一个“盗贼之海”团队的经验分享视频,他们说制作的GAS Asset复用率能都达到90%,这可是相当惊人的程度。而且在不断地项目迭代过程中,使用GAS制作的技能、Buff/Debuff会越来越充分。从而加快后续项目的开发速度。所以将GAS插件化是很有必要的。

但使用GAS需要给项目添加一些项目设置比如:AssetManager中的DataAsset、指定AssetManager类、添加GameplayTag。在发现网上的添加配置方法无效后,我又花了一些时间研究,终于找到方法,隧有了此文。

Ue4配置设置方法

Ue4的配置设置方法大致为二:通过GConfig设置与直接设置对应UObject变量。 具体的可以参考Ue4的Wiki与一篇Csdn的文章:

  • https://www.ue4community.wiki/legacy/config-files-read-and-write-to-config-files-zuoaht01
  • https://blog.csdn.net/u012999985/article/details/52801264

通过GConfig进行修改

通过全局对象GConfig,调用GetInt/Float/Rotator/String/Array等函数获取对应的数值;调用SetInt/Float/Rotator/String/Array等函数设置数值。最终需要调用Flush函数将结果写入对应的ini文件中,不然重启后数据会丢失。

GConfig通过一个Map来存储配置,这个你可以通过断点来查看内部数据。这里我简单补充一下config系列函数中的一些形参的意思:

  • Section:属性所处于的区块。
  • Key:属性的变量名。
  • Value:对应类型的属性值。
  • Filename:存储ini文件的位置。Ue4提供了默认位置的字符串变量,具体的请下文。

据我所知Section可以通过将对应属性通过编辑器修改,找到对应的ini文件,即可从所在段落的第一行找到所在的Section。如果是自己写的类,Section即为类的资源路径。可通过在ContentBrowser中对指定类执行复制命令,之后在外部文本编辑器中粘贴即可得到。Key值就需要用VS或者VSCode之类的编辑器查询了。

请注意,在默认情况下使用以下代码,相关的配置的是保存在Saved——对应平台文件夹中的。

下面是Wiki上Rama大神的代码:

//in your player controller class
void AVictoryController::VictoryConfigGetTests()
{
    //Basic Syntax
    /*
    bool GetString( 
        const TCHAR* Section, 
        const TCHAR* Key, 
        FString& Value, 
        const FString& Filename 
    );
    */

    if(!GConfig) return;
    //~~

    //Retrieve Default Game Type
    FString ValueReceived;
    GConfig->GetString(
        TEXT("/Script/Eng
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值