虚幻引擎 3 依赖于配置文件来指示它将如何运作及初始化。配置是由成对的键值来决定的,他们咱找部分排列。一个键可以和一个或多个值相关联。
一些变量可以直接地通过 native 代码进行访问,而其它的变量可以很容地追溯到 UnrealScript 代码中。无论何时当在一个对象上调用 SaveConfig() 或 StaticSaveConfig() 函数时,引擎把所有的变量保存到指定的配置文件中(除非已经定义类可以把它的设置保存到可替换的配置文件中)。
Native 代码所使用的配置文件中的变量一般有一个简单的部分标题。比如,出现在 DefaultEngnine.ini 配置文件的第一部分简单地命名为 [URL] 。然而,UnrealScript 代码使用的任何变量通常都有完全的符合要求的类名称,它遵循命名格式 [(package).(classname)] 。例如,DefaultEngine.ini 中的 [Engine.Engine] 项指向存储在 Engine 软件包内部的 Engine 类。对于这个规则而言有一些例外情况,例如 [WinDrv.WindowsClient] 项。
同时,请记住 UnrealScript 代码编辑器 (UCC) 使用配置文件来决定哪个包存在。和游戏引擎不一样的是,UCC 仅使用设置信息的一个较小的子集(主要是 DefaultEngine.ini 配置文件中的[Editor.EditorEngine] 项)来加载包。
第一次运行引擎,可能会缺少某些配置文件。它将会加载默认的配置文件,然后把它们转化为使用当前项目名称的配置文件。比如,对于 UDKGame 项目来说,DefaultEditor.ini 会转换为 UDKEditor.ini。当生成真正的配置文件后,将不再使用默认的文件。然而,您将会发现默认文件作为参考或者允许终端用户将他们的配置文件重新设置为默认设置是非常有用的。
这些默认文件构成了引擎项目中的 Base 文件中的核心配置。这可以在默认配置文件的 [Configuration] 部分看到。
一些变量可以直接地通过 native 代码进行访问,而其它的变量可以很容地追溯到 UnrealScript 代码中。无论何时当在一个对象上调用 SaveConfig() 或 StaticSaveConfig() 函数时,引擎把所有的变量保存到指定的配置文件中(除非已经定义类可以把它的设置保存到可替换的配置文件中)。
Native 代码所使用的配置文件中的变量一般有一个简单的部分标题。比如,出现在 DefaultEngnine.ini 配置文件的第一部分简单地命名为 [URL] 。然而,UnrealScript 代码使用的任何变量通常都有完全的符合要求的类名称,它遵循命名格式 [(package).(classname)] 。例如,DefaultEngine.ini 中的 [Engine.Engine] 项指向存储在 Engine 软件包内部的 Engine 类。对于这个规则而言有一些例外情况,例如 [WinDrv.WindowsClient] 项。
同时,请记住 UnrealScript 代码编辑器 (UCC) 使用配置文件来决定哪个包存在。和游戏引擎不一样的是,UCC 仅使用设置信息的一个较小的子集(主要是 DefaultEngine.ini 配置文件中的[Editor.EditorEngine] 项)来加载包。
第一次运行引擎,可能会缺少某些配置文件。它将会加载默认的配置文件,然后把它们转化为使用当前项目名称的配置文件。比如,对于 UDKGame 项目来说,DefaultEditor.ini 会转换为 UDKEditor.ini。当生成真正的配置文件后,将不再使用默认的文件。然而,您将会发现默认文件作为参考或者允许终端用户将他们的配置文件重新设置为默认设置是非常有用的。
这些默认文件构成了引擎项目中的 Base 文件中的核心配置。这可以在默认配置文件的 [Configuration] 部分看到。
class MyUSGame extends actor
placeable
config(MyConfig); //告诉游戏我们想用哪个config文件
var config int MyInt;
var config int YourInt;
function PostBeginPlay()
{
YourInt=11;
MyInt=22;
`log("MyInt:"@MyInt);
}
defaultproperties
{
//config的默认值不能在这里定义,只能在config文件里面
//[包名.类名]
//里面的是默认属性
}
![](https://i-blog.csdnimg.cn/blog_migrate/b9368aced9abf33902067b04f1f92f6d.jpeg)
打开UDK\UDKGame\Config下找到刚刚定义的那个config文件 (创建后会自动帮加上UDK前缀)
以后可以在ini文件里修改默认值
placeable
config(MyConfig); //告诉游戏我们想用哪个config文件
var config int MyInt;
var config int YourInt;
function PostBeginPlay()
{
YourInt=11;
MyInt=22;
`log("MyInt:"@MyInt);
}
defaultproperties
{
//config的默认值不能在这里定义,只能在config文件里面
//[包名.类名]
//里面的是默认属性
}
![](https://i-blog.csdnimg.cn/blog_migrate/b9368aced9abf33902067b04f1f92f6d.jpeg)
打开UDK\UDKGame\Config下找到刚刚定义的那个config文件 (创建后会自动帮加上UDK前缀)
以后可以在ini文件里修改默认值