UDN
Search public documentation:
ContentBrowserDatabaseCH
English Translation
日本語訳
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
内容浏览器数据库
概述
为什么需要游戏资源数据库?
- 所有游戏内容立即可供浏览,无论内容加载与否。
- 用户从来不需要检验包,就可以标示资源或将它们添加到收藏夹。
- 显示所有资源的缩略图,甚至可以显示没有加载的资源。
- 所有标签数据还是会适当地受源正确控制(例如,可以卷起)。
内容浏览器数据库交互
编译系统数据库交互
数据库设置
- 运行命令行开关为您的游戏创建一个新的 Checkpoint(检查点)文件。
- 创建正规的编译流程,‘检查点’资源数据库并更新源代码控制中的文件。(我们会在每天夜里自动运行这个流程。)
- 安装并配置 journal server 。
- 在每个游戏的编辑器配置文件中设置数据库/分支设置。
- 可选项,重新保存所有资源包自动生成缩略图(只要需要的时候就可以使用)
这里好像有很多工作要做...
- 用户将无法浏览全部游戏内容。只有已加载的资源可以被搜索到并进行互动。
- 有些类型的 meta 数据将不可用(例如,资源添加的日期)。
- 体验与通用浏览器相类似,只是在这里您将仍然会看到所有包和目录。
- 用户将无法标记资源或根据标签进行搜索(除了脱机模式中)
- 用户无法将资源放置到收藏夹中,甚至是私人收藏夹(除了脱机模式中)
- 用户无法与其他人共享标签和收藏夹
- 各种“在线”功能无法使用
创建检查点文件
- 确保您与最新的游戏内容同步
- 运行检查点命令行开关:
- MyGame.exe CheckpointGameAssetDatabase
- (它彻底了解所有游戏内容时需要几分钟时间。)
- 就是这样! 现在,您有了这个游戏的正常运转的检查点文件。
- 如果您加载该编辑器,那么您现在使用内容浏览器可以浏览游戏中的所有资源。
- 正常情况下,您应该将该文件登记进入源代码控制中。您可以在下一部分中阅读更多相关内容。
常规检查点处理游戏内容
- 每天夜里凌晨 3:00,运行我们的编译系统 (Controller) 的机器会执行一个进行以下操作的编译脚本 (CheckpointGAD.build):
- 对于每个游戏(或者游戏分支):
- 同步 到 最后成功 的 引擎编译版本 (包括二进制文件)。通常,最后一个好的编译版本在前一个版本完成后立即就已经完成。
- 将所有游戏内容 ( 只有 游戏内容)同步到头版本。这样资源检查点就会尽可能最新,即使我们运行的是一个稍微老一点的引擎版本。
- 签出 游戏的 GAD 检查点文件 (GameAssetDatabase.checkpoint)
- 执行 这个 检查点命令行开关 更新检查点文件。
- MyGame.exe CheckpointGameAssetDatabase
- 编译系统引擎会检查该命令行开关的输出是否有错误文本。如果出现了问题,检查点会发生故障然后恢复这个文件,电子邮件会发送给合适人选。
- 提交 已更新 GAD 检查点文件 (GameAssetDatabase.checkpoint)
- 对于每个游戏(或者游戏分支):
设置日志服务器
安装 MS SQL Server
- 安装过程可能会警告您,有关某些必须首先安装的先决条件(例如,Windows Installer、Windows Powershell。) 继续,如果有提示就安装这些先决条件。
- 对于 MS SQL Server Express 2008,在整个安装过程中您可以使用默认安装设置。如果您使用的是不同版本的应用软件,那么请确保随服务器一起安装了 MS SQL Server Management Studio,这样您可以轻松编辑/审计设置。
- 如果提示输入 Server Admin(服务器管理员)名称,您可以使用您自己的用户名,或者联系您的 IT 部门人员了解在这里应该使用什么名称。
- 您可以按照自己喜欢的方式命名数据库,只是要记录下来,因为我们以后配置虚幻编辑器时会需要使用这个名称。
- 下面的例子将会使用默认数据库名称: SQLEXPRESS
自动化日志服务器设置(推荐)
- 使用 CreateContentJournal.sql 脚本创建一个日志服务器实例。
- 可以在 UE3 源代码中找到该脚本: /Development/Src/Engine/SQL/CreateContentJournal.sql
- 使用 sqlcmd.exe 命令行应用程序执行该脚本。
- 您需要传递运行服务器的计算机的名称以及服务器的名称(除非它是默认服务器实例)。
- 您还要传递 UDN 中 CreateContentJournal.sql 文件的路径和文件名称。
- 例如: sqlcmd -S Computer_Name\Server_Name -i CreateContentJournal.sql
- 如果一切顺利的话,您将不会看到任何错误消息,而且您的日志服务器可以开始工作了!
- 注意: 默认情况下,在您的新服务器上应该启用常规 Windows 验证,但是您可能需要询问您的 IT 部门人员,确保一切都已经配置完成,这样您的团队成员的计算机才可以直接与它进行通信。
- 如果因为某些原因,您需要手动创建这个服务器,那么请按照下一部分中的步骤进行操作。
手动日志服务器设置(只适用于必要情况)
- 加载 MS SQL Server Management Studio 并连接到您的数据库。
- 在左侧的对象浏览器(Object Explorer)中,右击“数据库”并单击“新建数据库...”。将会弹出“新建数据库”对话窗口。
- 将“数据库名称”设置为: ContentJournal
- 点击“确定”关闭对话框并保存新建的数据库。
- 在对象浏览器中的“数据库”下方,展开 "ContentJournal",这样您就可以看到它的组件(表格、视图等等)。
- 在对象浏览器中的 "ContentJournal" 下方,右击“表格”并单击“新建表格...”。该表格设计者将会在应用程序的内容区域中打开。
- 配置表格的列,如下所示:
- 第一列:
- 将“列名称”设置为: DatabaseIndex
- 将“数据类型”设置为: int
- 将“允许空”设置为: 否 (取消勾选)
- 第一列的属性:
- 将“识别指标 -> (Is Identity)" 设置为: 是
- 右击第一列 ("DatabaseIndex") 并单击”设置主要按键“
- 第二列:
- 将“列名称”设置为: Text(文本)
- 将“数据类型”设置为: nvarchar(MAX)
- 将“允许空”设置为: 否 (取消勾选)
- 第一列:
- 按下 Ctrl+S 保存新的表格。将会弹出保存对话框。
- 使用以下名称保存新建表格: Entries
- 配置表格的列,如下所示:
- 非常好! 日志服务器现在存在并正在运作。
- 注意: 默认情况下,在您的新服务器上应该启用常规 Windows 验证,但是您可能需要询问您的 IT 部门人员,确保一切都已经配置完成,这样您的团队成员的计算机才可以直接与它进行通信。
配置虚幻编辑器
- 在一个文本编辑器中打开 BaseEditor.ini*。(*/Engine/Config/BaseEditor.ini)
- 如果您需要一个游戏特定设置,那么您可以在 /MyGame/Config/DefaultEditor.ini 进行以下变更
- 在 .ini 文件中找到 [GameAssetDatabase] 部分。如果它还不存在,那么继续并创建这部分内容。
- 将 JournalServer 设置为到日志 SQL 服务器的路径 (Computer_Name\SQL_Server_Name)
- 例如: JournalServer=ServerComputer\MYSERVERNAME
- 如果您的服务器是远程计算机上的 默认 SQL 服务器实例 ,那么您可以省略服务器名称
- 例如: JournalServer=ServerComputer
- 为您的 depot 路径 相应设置 BranchName 。
- 例如: BranchName=Main
- 您可以为您的分支使用您认为合适的任何名称,但是您必须只能使用 alpha 数字字符。
- 尽量使分支名称稍微短一些,因为它会被赋给每个单独的日志条目。
- 当我们在 .ini 设置的对象上时,用户有一些优先权可以允许或不允许标签和收藏夹的创建和删除。您应该让您的美术指导和技术美工通过设置以下各项启用标签创建:
- 在 MyGameEditorUserSettings.ini 中,为 [内容浏览器安全(ContentBrowserSecurity)] 添加一部分。
- 在该部分下方,设置 bIsUserTagAdmin=True 和 bIsUserCollectionsAdmin=true
- 注意:事实上这本不应算作安全系统 -- 它只是会帮助阻止人们意外损坏数据。
生成资源的缩略图
高级主题
脱机模式
可以在“脱机模式”中运行内容浏览器,这个模式不需要 SQL 连接,但是您仍然可以使用标签和收藏夹。 要使用脱机模式,请在您的脱机日志报警
编辑器第一次运行时,将日期字段 "UserJournalUpdateAlarm" 添加到 UTEditorUserSettings.ini 并设置为以后的第 7 天。这表示下一次闹钟会响(注意 - 应用程序关闭后会保存该项设置)。 测试:- 将该条目的时间设置为您下次的执行时间,以确保闹钟会响。
- 重启编辑器。
- 启动的时候,您将会看到以下对话框:
- “现在就检查”会运行检查点更新程序,制作日志文件的一个副本,删除初始日志文件,并将闹钟设置为 7 天以后。
- 如果闹钟设置正确可以在下一次运行时正常响起,那么“下一次运行”选项没有起到任何作用。
- “等待一天”和“等待一周”会将闹钟时间从当前时间向前设置预期的时间量。
检查点命令行开关选项
命令行开关还有一些除了调试问题时您实际上应该不需要使用的其他选项:- -NoDeletes 会通知命令行开关不要删除 SQL 服务器中任何过期的日志条目。任何比内置阀值老的条目将会被留在数据库中。注意,如果您一直使用该选项,您的 SQL 数据库将会变的很大,而您的编辑器启动性能会降低。下次您运行 没有 这个参数的检查点程序时,它会像平常一样进行并删除过期的资源。
- -ImportOldTags (在 2009 年 5 月 QA Build, 变更列表 33172 中被删除) 从所有包中导入遗留的内容标签数据,然后将其合并到游戏资源数据库中。请参阅下面这部分有关导入遗留的内容标签的内容了解更多信息。
- -PurgeGhosts 强制命令行开关立即使数据库中任何 Ghost 资源条目过期(删除)。正常情况下,ghost 资源会在固定天数后自动过期,除非资源在那之前就在包中成为现实。
- -Repair 会尝试修复数据库中的任何错误。注意,对于错误,修复相当于彻底消除数据库中有问题的条目。
- -Reset 会从头开始构建一个全新的检查点文件。它会忽略全部现有的标签、收藏夹、日志服务器数据和元数据,全部重新开始。除非您知道您在做什么,否则您最好不要使用这项功能。
- -Verify 只会检查数据库和报告警告的状态。实际上,它不会发生什么变更或保存状态。
- -DeleteCollections 会删除公共和私人收藏夹
导入遗留的内容标签
以前的内容标签浏览器以及所有相关的功能,包括包文件中的数据,都在 2009 年 5 月 QA 编译版本中从 UE3 删除(变更列表 # 333172)。如果您已经在您的资源上设置了很多内容标签,而且想要将这些标签转换到新的系统,那么您必须按照下面的步骤进行操作:- 注意不要使用 09 年 5 月 QA 编译版本(变更列表 333172)或以后的版本重新保存任何内容包! 重新保存包将会 破坏您的内容标签 。
- 同步到 09 年 4 月 QA 编译版本,或同步到 09 年 5 月 QA 编译版本 略去 变更列表 333172。
- 针对每个游戏,运行 GAD 命令行开关以便转换以前的内容标签:
- MyGame.exe CheckpointGameAssetDatabase -ImportOldTags
- 这将会创建一个包含您的全部标签的文件 (GameAssetDatabase.checkpoint)
- 内容浏览器会一直从该文件中加载���签数据
- 现在,您可以同步到后来的 QA 编译版本(所有变更列表),您最好进行同步!