UE4变量Config设置

UE4将变量config设置

在UE4中可以将变量的设置放进config文件中,可以在打包后直接修改配置文件的方式修改变量的初值。
例如:新建一个C++Actor类,在类的UCLASS中加入Config宏。

UCLASS(Config=MyActor)
class CONFIGPROJECT_API AMyActor : public AActor
{
	GENERATED_BODY()

其中的Config=MyActor MyActor是与你自己想要创建的ini文件名相关。
然后再新建一个变量,

UPROPERTY(config, BlueprintReadWrite)
		int32 TempA;

在UPROPERTY中加入config标签。接着在工程的Config目录下添加一个DefaultMyActor.ini文件。因为我在UCLASS中的Config填的是MyActor,所以起名为DefaultMyActor.ini。一定要加上Default
在这里插入图片描述
(当前工程名字是:ConfigProject)
然后再里面添加以下字段:
[/Script/ConfigProject.MyActor]
TempA=6
类似于一个键值对,/Script/ConfigProject.MyActor]的格式为/Script/工程名.Actor类名。
这样设置好后。在蓝图中生成MyActor的蓝图子类然后打印TempA就可以打印出配置文件的赋值了。
**在这里插入图片描述
注:
如果打包成Development版本后你的DefaultMyActor.ini会在打包后的Saved/Config文件夹中变成MyActor.ini,但是并不会影响,继续往里面设置值就好。

如果想动态获得Conifg的值,可以使用GConfig。

int32 res;
	FString gameConfigPath = FPaths::ProjectDir() + "/DefaultMyActor.ini";

	if (GConfig) {
		GConfig->GetInt(TEXT("/Script/ConfigProject.MyActor"),
			TEXT("TempA"),
			res,
			gameConfigPath);
	}

这个Get函数的四个参数分别为:
在这里插入图片描述
Section为键值对的方括号的内容,Key为你的变量名,也即是配置文件中的变量名。Value是你想要读取并赋值的变量,例如上面的代码会把读取的结果赋值给res变量,最后的Filename为你的配置文件的路径名。
需要注意的是一个是上文说的打包后文件名会自动去掉Default,还有就是有的博客会使用打包后的config文件,但是使用的函数是FPaths::ProjectConfigDir(),这个函数经测试打包后并不会返回正确的Config文件夹路径,返回的是项目名/Config,但是实际上打包后的config路径为
在这里插入图片描述
在敲代码的时候要特别留意。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值