在UE中创建配置文件
內(nèi)容概括
本篇將在一個空白插件中創(chuàng)建一個配置(并非必須要在插件中創(chuàng)建,直接在項目中創(chuàng)建也可以),該配置可在編輯器中打開。
之后,使用兩種方法來在代碼中讀取配置的內(nèi)容。
配置文件的官方文檔為:Configuration Files | Unreal Engine Documentation
步驟0. 創(chuàng)建空白插件
以Blank為模板創(chuàng)建插件。
步驟1. 創(chuàng)建配置的UObject
定義一個配置對應(yīng)的UObject,需要注意的是需要在UCLASS宏中有Config,其值就是配置文件ini的名字:
#pragma once#include "CoreMinimal.h"#include "MyTestConfig.generated.h"//配置對應(yīng)的UObject: UCLASS(Config = yaksue) class UMyTestConfig : public UObject {GENERATED_UCLASS_BODY() public://測試配置項:UPROPERTY(Config, EditAnywhere)bool test1;UPROPERTY(Config, EditAnywhere)FString test2;UPROPERTY(Config, EditAnywhere)FColor test3; };對應(yīng)cpp文件不需額外處理,只要實現(xiàn)構(gòu)造函數(shù)就行了:
#include"MyTestConfig.h"UMyTestConfig::UMyTestConfig(const FObjectInitializer& ObjectInitializer): Super(ObjectInitializer) { }步驟2. 注冊配置
隨后,需要在模塊的啟動函數(shù)中注冊這個配置。不過首先要先include負(fù)責(zé)這個行為的模塊,以及剛才定義UObject的文件:
#include "ISettingsModule.h" #include "MyTestConfig.h"注冊的代碼:
//獲得 ISettingsModule 模塊并注冊配置 if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr< ISettingsModule >("Settings")) {SettingsModule->RegisterSettings("Project", //ContainerName"Plugins", //CategoryName"YakSue", //SectionNameLOCTEXT("YaksueConfig", "YaksueConfig"), //DisplayNameLOCTEXT("YaksueConfigDescription", "YaksueConfigDescription"), //DescriptionGetMutableDefault< UMyTestConfig >()); //SettingsObject }其中RegisterSettings有很多參數(shù),其意義是:
- ContainerName:指定是在編輯器中的 “Project” 還是 “Editor”。
- CategoryName:編輯器中的分類。
- SectionName
- DisplayName:編輯器中顯示的名字。
- Description:鼠標(biāo)懸停在編輯器中的名字上浮現(xiàn)的提示。
- SettingsObject:配置所對應(yīng)的UObject
隨后,在編輯器中就可以在 Project Settings 的 Plugins 分欄下看到名為 YaksueConfig 的配置:
修改一些屬性后,將可以看到對應(yīng)內(nèi)容被存到了項目文件夾\Saved\Config\Windows\yaksue.ini中:
讀取配置的方式:GetDefault
使用GetDefault<配置對應(yīng)的UObject類型>()可以獲得配置的UObject。
比如:
讀取配置的方式:配置文件層級
上面方式的一個缺點是,使用時需要知道那個UObject的定義。
而通過“配置文件層級”則不需要(關(guān)于“配置文件層級”的概念可看官方文檔)
比如,當(dāng)前層級就是:
為了方便,我在嘗試這種方式時,將存儲的ini文件改成一個引擎知道的ini文件,比如Engine:
UCLASS(Config = Engine)現(xiàn)在,當(dāng)修改屬性時,可以在 \Saved\Config\Windows\Engine.ini 看到與之前相同的內(nèi)容了。
而讀取時的代碼為:
函數(shù)的最后一個參數(shù)就是配置文件,比如GEngineIni的值就是絕對路徑\Saved\Config\Windows\Engine.ini
總結(jié)
以上是生活随笔為你收集整理的在UE中创建配置文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安徽外国语学院计算机毕业大补考,学生缓考
- 下一篇: Alwayson 同步模式的坑