资源去重工具(Asset Deduplicator)可以查找当前关卡中可用与共享资源匹配的链接替换的资源。它通过将重复的文件替换为 .link 文件来减小关卡体积,并确保关卡中的资源引用依然可以通过引擎的链接文件系统被正常加载。
当一个关卡中已经存在本地拷贝的资源,而这些资源在共享文件夹(如 /assets/、/art/)、预置关卡或其他已扫描内容中也已存在时,建议使用此工具进行去重。
你可以在世界编辑器窗口的菜单栏,通过 资产 > 资源去重工具 打开该工具。
.link 文件。在应用更改前请仔细检查预览,并备份未打包的关卡或模组内容。该工具仅适用于可以直接修改文件的未打包内容。当工具打开时,会在 /temp/assetdeduplicator.cache.json 路径下构建或加载一个缓存。该缓存包含共享资源文件夹、内置和模组关卡、以及当前关卡的资源信息。
缓存的作用是避免每次检测都需要重新扫描所有资源文件夹。它会记录当前游戏版本和所加载关卡的扫描结果。如果游戏版本、缓存版本或当前关卡数据发生变化,工具可能会重建相关缓存部分。
如果缓存过期,可使用以下操作:
在关卡内部添加、删除、重命名或移动文件后,请重置当前关卡缓存。当共享资源已变更,或显示结果与实际磁盘文件不符时,请使用深度清理。
工具支持两种资源比对模式:
允许链接到模组资源 选项可让链接指向模组内的资源。在开发时有时非常有用,但同时风险更高,因为目标模组可能未安装或会被独立修改。
通常建议在日常清理时优先使用文件哈希对比。只有在明确需要查找潜在重复项并准备好检查目标文件时,才使用文件名对比。
对于必须避免特定模组依赖的内容,请保持“允许链接到模组资源”处于关闭状态。
当检测到重复候选项时,工具会显示可移除的文件数量以及可节省的关卡空间大小。
检测过程中,工具会将当前关卡文件与缓存的资源组进行对比,并搜索合适的链接目标。优先选择共享资源位置作为目标,因为这些位置比本地副本更为稳定。
点击 预览并应用 打开候选文件列表。预览中会显示原始文件和即将替换它的链接目标。
在预览界面:
点击接受后,工具会移除每个选中的重复文件,并写入一个指向目标资源的 .link 文件。
对于图片资源,点击某行可以打开并排比较视图。建议在接受基于文件名的匹配前使用此功能,因为即使文件名相同,两张贴图也可能存在分辨率、颜色数据、压缩方式或透明度的不同。
对于每个被接受的候选项,原始文件会被移除,并在原路径加 .link 扩展名后生成一个 .link 文件。链接文件存储了选中的目标路径,告知引擎加载共享资源,而不是保留单独的本地副本。
例如,一个重复的本地贴图可以被链接到 /assets/ 目录下的贴图。关卡仍引用本地路径,但其实通过链接重定向到共享目标。
如果链接失败,工具会报告对应的文件及错误。常见原因包括打包后的模组、只读文件、缺失文件权限,或缓存生成后文件发生变化。
执行操作前:
操作完成后,重新加载关卡,并使用 资源检查器 确认贴图、模型和材质等资源依然能够正确解析。
这篇文章对你有用吗?