为RT3D项目选择正确的运行时资产加载技术

Apr 25, 2025
在 Unity Asset Manager 中使用 3D 数据流的工厂车间模型

实时3D(RT3D)项目变得越来越复杂,需要更智能的方法来管理资产和运行时加载。开发者不断推动可能性的边界,随着这些项目在复杂性和规模上不断增长,确保流畅的性能和卓越的用户体验变得比以往任何时候都更加重要。虽然Unity Asset Manager提供了一个全面的解决方案来组织、管理和优化您的资产,但开发者仍然面临选择合适技术将资产加载到运行时的挑战。

无论您是从内容分发网络(CDN)流式传输内容、动态加载本地资产,还是通过加载/卸载周期管理内存,选择合适的资产加载技术对您项目的成功至关重要。

Unity提供多种运行时资产加载的方法,每种方法都针对特定需求和项目目标量身定制。本电子书旨在指导开发者了解可用选项,比较它们的优缺点,并帮助您为项目选择理想的解决方案。

理解运行时资产加载

运行时资产加载是指您的应用程序在运行时如何加载和卸载内容。这可能意味着:

  • 从CDN下载新内容
  • 按需加载本地资产
  • 通过卸载未使用的内容来管理内存
  • 逐步流式传输多边形

让我们探索不同的资产加载技术以及一些最适合每种技术的RT3D行业项目示例。

理解您的选项

Unity提供多种方法来处理这些场景,每种方法都针对不同的用例进行了优化。

  1. AssetBundles/Addressables
  2. 专为Unity项目构建
  3. 处理所有Unity资产类型
  4. 通常最适合Unity应用程序
  5. 在高效内存管理是优先事项的地方,
  6. 在DLC包将通过空中交付的地方,
  7. 以及用于需要定期内容更新(季节性活动、新角色、产品更新)的实时服务游戏和应用程序
  8. glTF
  9. 平台无关的解决方案,无需Unity进程进行干预
  10. 专注于纯3D内容
  11. 通常最适合所有需要灵活加载本地3D数据并要求跨平台兼容性的运行时应用程序
  12. 3DDS(Unity 3D数据流)
  13. 平台无关的解决方案,能够可视化3D模型,如CAD和BIM数据
  14. 在Unity资产管理器中一键生成和可视化
  15. 仅加载相关内容,并以最佳质量呈现
  16. 通常最适合大型可视化,用户可以在任何设备上探索非常复杂和详细的模型,采用渐进式加载。

乍一看,这些工具似乎可以互换。然而,每个工具在独特场景中表现出色,使其更适合特定的用例。选择正确的技术取决于将工具的优势与项目需求相匹配。

做出正确的选择

选择正确技术的关键在于理解项目的具体要求。让我们探讨应该影响您决策的因素。

使用AssetBundles,您可以构建一个几乎为空的场景的应用程序,并从那里动态加载游戏的其余部分。

使用AssetBundles,您可以构建一个接近空场景的应用程序,并从那里动态加载游戏或应用程序的其余部分。

资源包和可寻址资源

可寻址资源包是一个Unity原生系统,旨在:

  • 简化运行时的资源加载。
  • 启用依赖关系跟踪、内容版本控制、多个加载路径(本地/远程)、网络传输和缓存。

资源包是处理实际资源打包和加载的底层技术;可寻址资源是建立在资源包之上的高层系统,提供更用户友好的界面、自动化的依赖管理和简化的运行时加载。资源包在管理复杂游戏内容方面表现出色。它还针对特定的构建目标、Unity版本和平台进行了优化。当你需要时,它们是理想的选择:

  • 支持多种资源类型,因为它们可以处理任何类型的资源,包括纹理、声音、场景、预制件等。
  • 依赖管理,因为Unity会解析资源之间的依赖关系。
  • 版本控制
  • 使用可寻址资源,你可以获得一个跟踪资源版本及其依赖关系的目录,因此当你更新内容时,系统可以准确识别需要重新下载的包。
  • 这对于希望推送内容更新(例如季节包或实时活动)的在线游戏特别有帮助,而不需要强迫玩家重新下载整个游戏。
  • 针对Unity优化的特定平台

理想的使用案例:

一款需要高效内存管理和加载时间的Unity游戏,具有多种资源类型,和/或定期内容更新。优化后的资源不需要在不同的运行时之间共享。

为什么它有效:你可以通过资源的“地址”或通过AssetReference按需加载内容,而可寻址资源系统会自动为你处理其余部分,无论该内容是已经缓存到设备上还是仍然托管在你的CDN上。运行时可以下载新的内容包,而无需进行完整的应用更新。最终用户在保持性能和高效管理内存的同时,获得新的季节性内容。

Unity glTFast (com.unity.cloud.gltfast) 包支持在运行时和编辑器中导入和导出 glTF™ 3D 文件。

Unity glTFast (com.unity.cloud.gltfast) 包支持在运行时和编辑器中导入和导出 glTF™ 3D 文件。

glTF 加载

glTF 和 .GLB 本质上是相同格式的不同打包方式 - glTF 是一种基于文本的格式,具有单独的文件(纹理、二进制数据等),这使得它在开发和调试中非常出色,而 GLB 将所有内容打包成一个单一的二进制文件,使其在分发和运行时加载时更高效。

glTF 提供了一种使用 Unity 免费的 glTFast 包进行 3D 模型加载的简化解决方案。当您需要时,请考虑此选项:

  • 简单的 3D 模型加载
  • 使用 GLB 时,依赖项必须在导出时打包到文件中或手动解决。
  • 跨平台兼容性
  • 快速实现
  • 标准格式支持,不依赖于 Unity 版本或平台。

理想的使用案例:

一个简单的模型查看器应用程序,其中快速加载和标准格式支持是优先事项。如果您需要在不同的 RT3D 项目中重用资产,而不必重新编译它们,GLB 是最佳选择。一个具体的例子是电子商务应用程序,其中一个查看器可以查看成千上万的资产。

另一个例子是用户可以自定义的内容项目,例如自定义头像或自定义配件,并且需要一种可以灵活创作的标准格式。

为什么它有效:GLB 是网络的 3D 格式。GLB 数据在许多接触点可用。

 在 Unity Asset Manager 中使用 3DDS 流式传输的工厂车间模型

使用 Unity 3D 数据流动态下载模型的相关部分,并使其在任何设备上可视,无论模型大小。

3DDS (Unity 3D 数据流)

Unity 3D 数据流是一项多边形流服务,允许开发者将 3D 静态资产和环境直接流式传输到用户的设备。数据在 Unity 资产管理器中使用 Pixyz 技术 预处理,以自动优化其分发到运行时应用程序。运行时的加载也由 Unity 的 gltFast 技术处理。

在您的客户端中,3D 数据流包通过实现开箱即用的优化,使模型能够加载,从而进一步减少模型在离相机较远时的内存占用,同时确保近距离的完整细节。

3DDS 在处理大规模模型和复杂可视化时表现出色,同时保留模型的所有部分元数据。这是首选选择:

  • 大型 CAD 和 BIM 模型
  • 即时首个像素
  • 渐进式加载要求
  • 单一资产来源 / 多个目标平台
  • 针对每个目标设备的内存优化加载
  • 复杂模型层次结构的导航和研究

理想的使用案例:

您从未能够在运行时应用程序中展示的模型的 VR 漫游体验。

一个建筑或工程可视化和审查应用程序,访问处理详细 CAD 或 BIM 模型的元数据或属性,这些模型由于设备的有限内存和渲染能力而无法完全加载。

做出您的决定

如果您正在使用 Unity 开发游戏,Addressables 通常是推荐的解决方案。原因如下:

  • 专为 Unity 的开发工作流程而构建
  • 针对运行时性能进行了优化
  • 与Unity的内存管理集成
  • 支持复杂的资产依赖关系
  • 高效处理多种资产类型

异常情况:用户生成内容 如果您的游戏涉及用户生成的内容(如自定义头像或物品),请考虑使用GLB:

  • 标准格式使内容创建更为便捷
  • 在Unity版本之间提供更好的长期兼容性
  • 更容易的第三方集成(例如,ReadyPlayerMe头像)

异常情况:一个基于实体组件系统(ECS)的Unity游戏。如果您正在利用Unity的ECS架构,您应该使用实体内容管理系统进行运行时资产管理。

对于行业项目,选择更多地取决于具体要求。

选择GLB的情况:

  • 处理标准3D模型时
  • 需要跨平台兼容性时
  • 处理用户上传的内容时
  • 需要平台独立更新时
  • 需要长期格式稳定性时

选择3DDS的情况:

  • 处理大型CAD/BIM模型时
  • 渐进式加载是必要的
  • 需要内存优化
  • 保护复杂的层次结构和元数据是优先事项
  • 需要动态保真度缩放
技术艺术家将叉车资产上传到Unity资产管理器

开始使用资产管理器

Unity资产管理器帮助您在运行时之前组织和准备资产,为您选择的任何加载策略创建高效的管道。与Unity编辑器和Unity的数据准备解决方案Pixyz集成,资产管理器可以:

  • 集中管理从创建、迭代到最终状态的源资产
  • 转换和准备资产以进行运行时部署
  • 在Unity编辑器工作流程中高效组织资产
  • 在不同的资产格式之间转换
  • 充当可以在运行时使用的实时3D文件的存储库

随着项目的增长,资产管理器与您的Unity编辑器许可证一起扩展,以提供额外的存储和管理能力。

无论您是在为资产包准备资产、生成glTF文件,还是设置3DDS流,Unity资产管理器都可以帮助您在开发过程中保持组织和控制。


Unity资产管理器可以将数据直接带入运行时应用程序。一旦生成gLTF和3DDS数据,可以立即在运行时进行查看,而无需构建时间。这缩短了工业客户将其CAD和BIM数据直接带入Unity应用程序的旅程。

Unity Asset Manager 中办公家具素材资源的截图

发现更多

如果您想了解更多关于 Unity Asset Manager 解决方案的信息,请查看这些资源:

Q&A

分享您在 Unity 中加载素材的经验和问题。加入我们,参与 Unity 讨论

开始使用 Unity Asset Manager

获取电子书

填写此表格以获取来自行业专家的前沿见解和解决方案