Choose your operating system:
Windows
macOS
Linux
启用数据注册表插件后才能使用 数据注册表(Data Registry) 。之后就可以创建、配置、填充你的第一个数据注册表了。执行以下步骤:
-
转到编辑器的 编辑(Edit) 下拉菜单并选择 插件(Plugins) ,即可启用数据注册表插件。当 插件(Plugins) 窗口出现时,使用其搜索功能或浏览插件,找到 数据注册表(Data Registry) 插件,该插件可以在 Gameplay 类别中找到。在找到插件之后,选中 启用(Enabled) 复选框。如果 插件(Plugins) 窗口指示你需要重新启动编辑器让插件生效,请按照指示操作,然后再继续。
-
转到 项目设置(Project Settings) 窗口。你可以从 编辑(Edit) 下拉菜单中选择 项目设置(Project Settings) 来打开此窗口。
-
在左侧面板中的 游戏(Games) 分段下,可以看到标有 数据注册表(Data Registry) 的类别。如果没有看到此类别,请确保已经启用 数据注册表(Data Registry) 插件,然后在启用之后至少重新启动编辑器一次。
-
在右侧面板中,将至少一个条目添加到 要扫描的目录(Directories to Scan) 数组。这会告知系统在何处查找数据注册表资产。`/Game/DataRegistries`就是一个典型的条目,但是目录的添加数量不受限制,具体取决于你要为项目使用怎样的组织模式。你可以趁此机会检查你指定的所有目录都存在,并验证你创建的数据注册表资产都在正确的位置。
-
导航至你在内容浏览器的 要扫描的目录(Directories to Scan) 中指定的目录之一,然后添加新的数据注册表资产。右键点击右侧面板中的空白位置并展开上下文菜单中的 杂项(Miscellaneous) ,即可完成此操作。在展开的上下文菜单中,选择 DataRegistry ,然后从显示的列表中选择合适的子类。
-
为新数据注册表命名并将其打开。
-
在 注册表类型(Registry Type) 字段中输入全局唯一名称。如果希望使用[游戏标签]()来辨识此数据注册表中的资产,请确保在 ID格式(ID Format) 类别下的 基本Gameplay标签(Base Gameplay Tag) 字段中对其进行设置。
-
将 项结构体(Item Struct) 字段设置为此数据注册表将包含的结构体类型。这通常是 DataTableRowHandle 或 SimpleCurve ,但可以是任何数据类型。但是,
-
将一个或多个数据源添加到 数据源(Data Sources) 数组。必须为每个条目选择要添加的数据类型,并指定数据来源。你可以使用内置的数据类型,也可以添加你的项目或任何启用的插件所定义的类型。此时,你需要提供一些数据供数据注册表管理。
-
对于从已知与现存资产中采集行数据的简单源类型,例如 DataTable源(DataTable Source) 或 CurveTable源(CurveTable Source) ,请选择要读取的源资产。 表规则(Table Rules) 分段介绍了来自你指定的资产的数据行的缓存行为,因此请检查这些规则是否适用于你的用例。
-
对于在运行时生成新数据源的 DataTable元数据源(DataTable Meta Source) 或 CurveTable元数据源(CurveTable Meta Source) ,还有一些其他设置需要处理。选择要生成的源类型、适用于所生成源的任何访问或引用规则,以及用于确定系统在查找资产时的扫描或使用规则。元数据源可以扫描资产或者接受已注册的资产(采用C++代码),也可以同时实现这两种操作。举例来说,你可以将搜索路径指定为
/Game/SearchableDataTables
,但排除*PrivateData*
;如此一来将会删除所有包含子字符串"PrivateData"的路径,因此不会扫描/Game/SearchableDataTables/PrivateData/
和/Game/SearchableDataTables/SubPath/SomePrivateDataHere/
这样的路径。
-
-
完成数据源的设置之后,配置 缓存规则(Cache Rules) 来满足项目的特定需求。要查找你可以配置的设置,请展开数据注册表编辑器中的 缓存(Cache) 分段。
由于数据注册表功能仍在开发中,某些设置可能无法按照预期工作。
完成数据源的设置之后,配置 缓存规则(Cache Rules) 来满足项目的特定需求。要查找你可以配置的设置,请展开数据注册表编辑器中的 缓存(Cache) 分段。
由于数据注册表功能仍在开发中,某些设置可能无法按照预期工作。
-
你可以趁此机会检查数据注册表中是否包含了你所期望的项。点击工具栏上的 刷新(Refresh) 按钮,并审核 注册表预览(Registry Preview) 选项卡上的内容,在这里可以预览数据注册表当前已知的所有项。如果结果不符合你的预期,请修改数据源规则,然后再次点击 刷新(Refresh) 按钮。
如果有多个源拉取了行,那么行可能会在列表中多次出现;这不是错误,通常表示元数据源将相同的数据当作了简单源或其他元数据源。但是,顺序很重要;若尝试检索的数据项出现在多个源中,那么只有数据注册表发现的第一个实例才可以访问。浏览左侧面板中 数据源(Data Source) 下的 运行时源(Runtime Sources) 类别,查看数据注册表中按照加载顺序列出的每个项的每个实例的源。
-
在所有内容检查无误之后,保存你的数据注册表。在未来的会话中,数据注册表将在启动期间自动加载和填充。如果你更改了数据注册表,请按刷新按钮更新数据项。
-
如果你计划通过C++代码使用数据注册表,请打开项目的
Build.cs
文件。实际文件名称将包含你的项目名称;例如,项目名称是 "MyProject",文件名将是MyProject.Build.cs
。查找设置了PublicDependencyModuleNames
变量的行,然后将"DataRegistry"
添加到该数组。最终的行看起来应该类似于这样:PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "DataRegistry" });
在完成这些步骤之后,你的项目将设置为使用数据注册表!如需关于数据注册表的工作原理以及优势的信息,请参见主要