ue4读取配置文件_UE4中的配置文件

UE4的配置文件用于存储游戏和引擎的行为属性设置。它们由键-值对组成,支持继承和按实例配置。配置文件结构包括配置类别、文件层级,常用于设置对象的默认值和用户输入。配置文件的加载遵循特定的优先级,允许通过GConfig进行读写操作。UE4提供了扩展配置的机制,允许自定义路径和使用配置类,同时支持在编辑器中注册配置以供用户设置。
摘要由CSDN通过智能技术生成

UE4中的配置文件

包含用于配置游戏进程或引擎行为的属性设置的文本文件。

配置文件可用于为加载项目时将初始化的属性设置值。配置由按分段排列的键-值对决定。 单个给定键可以与一个或多个值相关联。

引擎配置文件用于对象和变量的默认值。用户输入配置可用于键绑定。默认情况下,当您使用 项目向导(Project Wizard) 创建新的空白项目时, 将创建DefaultEngine.ini和DefaultGame.ini。如果需要,以模板开始的新项目还可以生成DefaultEditor.ini和DefaultInput.ini配置 文件。

您可以在带配置类说明符的类上调用SaveConfig()函数。它会将标记 配置(Config) 属性说明符的所有属性保存到适当的配置文件中。通常,由 SaveConfig() 保存的变量 位于分段标题中,其格式为[(package).(classname)]。例如,DefaultEngine.ini中的[/Script/Engine.Engine]分段指向存储在引擎包中的引擎类。 硬编码的分段名称有一些例外。

以前只能通过编辑配置文件才能使用的许多设置现在已可以在虚幻编辑器中的项目设置 编辑器中使用。

指定可配置变量

为了指定应从配置文件中读入的变量,包含这些变量的类必须首先在其UCLASS宏中提供配置说明符。

UCLASS(Config=Game)
class AExampleClass : public AActor
必须为配置说明符提供一个类别(即游戏)。这决定了从哪些配置文件中读取和保存该类的变量。FConfigCache.ini中定义了所有可能的类别。有关所有配置文件类别的列表,请参阅 配置类别

用配置说明符装饰类只表明该类可以具有从配置文件读入的变量,并指定了从哪些文件中读取配置。为了 将特定变量指定为读入并保存到配置文件,还必须将配置说明符提供给UPROPERTY()宏。

UCLASS(Config=Game)
class AExampleClass : public AActor
{
    
    GENERATED_UCLASS_BODY()

    UPROPERTY(Config)
    float ExampleVariable;
};

没有类别将提供给属性的配置说明符。现在,您可以从任何游戏配置文件中的配置文件层级中读取ExampleVariable属性, 前提是使用以下语法指定该信息:

[/Script/ModuleName.ExampleClass]
ExampleVariable=0.0f

配置文件和继承

配置说明符、UCLASS说明符和UPROPERTY说明符可继承。这意味着,子类可以读入或保存父类中指定为配置的所有变量, 并且所有这些变量将属同一配置文件类别。所有这些变量都将位于带有子类名称的分段标题下。例如,从上面的ExampleClass继承的ChildExampleClass的配置文件信息会如下所示,且会保存在相同的游戏配置文件中。

[/Script/ModuleName.ChildExampleClass]
ExampleVariable=0.0f

按每个实例配置

虚幻引擎4能够将对象的配置保存到任何需要的配置文件中。如果在UCLASS宏中使用 PerObjectConfig 说明符, 则该类的配置信息将按每个实例存储,其中每个实例在.ini文件中都有一个以该对象命名的分段,命名格式为[ObjectName ClassName]。 该关键字将传播到子类。

配置文件结构

每个配置类别都有自己的文件层级,这些文件指定了特定于引擎、特定于项目和特定平台的配置。

配置类别

整个Config机制在引擎中最常见的地方就是引擎的配置本身了,项目配置与引擎配置,Localize的配置……这些都是通过这个机制进行的。

引擎自带的配置分类有以下这些:

Compat(兼容性)
DeviceProfiles(设备概述文件)
Editor(编辑器)
EditorGameAgnostic(编辑器游戏未知)
EditorKeyBindings(编辑器按键绑定)
EditorUserSettings(编辑器用户设置)
Engine(引擎)
Game(游戏)
Input(输入)
Lightmass(全局光照)
Scalability(可扩展性)

上面基本描述了所有配置文件的类型,不同类型的配置设置放在不同的文件里面。当然上面这些只是UE4为我们提供的文件类型,我们也可以定义自己的配置文件,也可以把内容放到你想放的任意一个文件里面。在文档的最后面的附录会大致描述当前项目不同目录下配置文件存储的信息内容。

配置文件是有加载优先的,按照官方文档提供的顺序,越靠后的值会覆盖前面的值。

① Engine/Config/Base.ini
② Engine/Config/BaseEngine.ini
③ Engine/Config/[Platform]/[Platform]Engine.ini
④ [ProjectDirectory]/Config/DefaultEngine.ini
⑤ [ProjectDirectory]/Config/[Platform]/[Platform]Engine.ini
⑥ [ProjectDirectory]/Saved/Config/[Platform]/Engine.ini

这个加载次序是以Engine配置为基础的。

UE4本身给系统默认的一些配置文件建立了层次结构(如Engine,Game,Editor等,这里我们称每个类型为一个层次类型)。我们在读取某种层次类型配置文件信息的时候(比如说Engine类型),会按照上面的路径依次读取,因为后面层级的内容对于项目针对性逐步增强,所以层级越高里面的配置信息优先级越高。如果路径②与路径④某项属性配置信息不同,那么我们认为路径④的信息是准确的,从而忽略路径②的该项信息。如果我们发现在SaveConfig的时候该项属性信息与路径④的对应属性信息也不同,就把该配置信息存储到路径⑥下面。同时要注意到UE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值