本网站内容使用人工智能(AI)或机器翻译技术翻译,可能存在错误。

Skip to content

SLIM 简介:可扩展轻量级交互式模型

利用轻量级渲染合成技术,为各类设备构建更宏大、更细致的世界

SLIM Car Comparison.webp

Roblox 汇聚了数百万种体验,从简单的迷你游戏到充满高保真 3D 资产的广阔开放世界。 我们的目标是支持创作者在各类用户设备上构想的、日益密集且复杂的体验,这需要我们在引擎、内容分发系统和基础设施方面进行创新。可扩展轻量级交互模型(SLIM)是多阶段开发计划的一部分,它使创作者能够在不牺牲性能的前提下实现其宏大的艺术愿景。 

SLIM 允许创作者自动生成 Roblox 体验中任意对象的轻量级表示形式,从而最大限度地减少客户端在渲染一个强大且无缝的世界时所需的绘制调用、三角面和数据模型实例的数量。SLIM 为我们的流式传输模型提供了优化内容的新途径,使配备高端游戏电脑的用户和使用低端移动设备的用户都能以各自设备所能处理的最高保真度共享相同的体验。

SLIM Scene.webp
在启用实例流式传输和 SLIM 的情况下,上述场景使用的数据模型实例、三角形和绘制调用数量大幅减少。

不使用实例流式传输和 SLIM

包含实例流与 SLIM

客户端数据模型实例

159,745

92,536

三角形

2000万

335万

绘制调用

2,402

1,454

流媒体的两大支柱:实例与资源

当您在喜爱的流媒体服务上观看电影时,设备不会在您开始观看前下载整个文件。它只会下载足够的数据让您立即开始观看,然后持续下载(或缓冲)接下来的几秒钟内容,以确保观看体验不中断。 若您使用低端设备或网络连接较慢,平台会自动调整策略:在下载足够数据以流式传输高保真内容的同时,先向您发送低保真版本的内容。 

Roblox 采用类似原理实现即时流媒体传输,但呈现高保真 3D 模拟所需的数据带来了独特的挑战。视频内容具有单一视角的线性时间轴,而 Roblox 的体验则包含广阔的交互式 3D 世界,其中充斥着多种类型的资产,用户可以从多个视角进行探索。 再加上 1.515 亿日活跃用户通过各种设备进行游戏、探索并最终流式传输内容,这为优化内容的传输和显示方式带来了巨大的潜力。1

用户在 Roblox 上所见的一切——无论是汽车、树木、虚拟角色还是建筑物——在引擎中均以多个实例的形式呈现。例如,一辆可驾驶的汽车会被分解为保险杠、车门、车轮等各个实例。每个实例在体验中都是由多种资源(如 3D 网格、纹理、动画和音频)构建而成的。

Roblox 上的几乎所有流式传输都分为两项核心技术:实例流式传输和资源流式传输。

  • 实例流式传输决定了用户设备需要加载哪些实例。对于用户尚未看到或无法交互的体验部分,无需进行流式传输。在上述示例中,只有代表附近建筑物的实例会被流式传输到客户端。
  • 资源流式传输则决定了流式传输实例的质量。对于用户无法辨别细微细节的远山,没有必要下载高分辨率的 4K 纹理。在上图中,远处的建筑物以及占据较小屏幕空间的建筑物使用的是简化多边形网格和低分辨率纹理。 

这一运作的核心是名为“Harmony”的系统,它每帧都会监测每位用户的可用资源。Harmony会根据设备的内存、GPU和CPU负载以及网络带宽,动态调整实例和资源的流式传输,以提供最佳体验。对于高端游戏PC,Harmony会将所有内容提升至最高质量;对于网络连接较弱的移动设备,它会自动降低质量以确保用户体验流畅。

开发团队在《Tech Talks》播客第30期中,深入探讨了流式传输、云端转码及SLIM技术背后的原理。 

SLIM:可扩展轻量级交互模型

SLIM 的核心理念简单而强大:它能够自动为创作者世界中的任何对象或模型生成多个轻量级、优化的表示形式,并将它们存储在服务器上以便在运行时调用。随后,每个用户的客户端可以根据设备可用资源,在渲染原始实例和资源与渲染其中一种轻量级 SLIM 表示形式之间动态切换。 

SLIM 主要采用两种技术生成轻量级表示:

1. 合成

首先,SLIM 将多个部件合并为更少的部件。例如,下图中的汽车原本需要 112 个独立网格和 24 张独立纹理,而其轻量级表示可能仅需一个网格和四张纹理。合成过程经过精密调整,以匹配引擎最终渲染内容的方式,从而消除对象内部不可见的几何体,并减少渲染所需的绘制调用次数。

SLIM Car Comparison.webp

2. 细节级别 (LoD)

在合成模型后,SLIM 会生成不同细节等级的多个版本。这意味着创建三角面数量显著减少的 3D 网格版本,并生成分辨率大幅降低的纹理——正如我们使用传统 LoD 技术处理任何单个网格或纹理资源时所做的那样。由于我们拥有每个底层实例的独立坐标系,这些技术在应用于 SLIM 模型时可以进一步优化。这使我们能够全面了解创作者希望这些资源如何协同渲染。 基于这一认知,SLIM 使我们能够更明智地决定:何处应去除不必要的细节,何处应保留用户会注意到的细节。

undefined

适时呈现恰当的表示形式

一旦为某个对象创建了多种呈现形式,SLIM 必须决定针对特定用户的设备选用哪一种,或者是否改用传统的渲染技术。该系统将世界划分为三个不同的区域。理解这些区域的一个简单方法是,想象以播放器为中心向外延伸的同心圆,每个圆圈对应不同层次的细节。

indefinido
Os limites de streaming não são, na verdade, circulares. Sua forma depende de uma variedade de fatores.

HH 区域(重量级实例,重量级渲染)

在 HH 区域中,完整的重量级实例从服务器流式传输至客户端数据模型,由客户端为每个实例确定要下载并渲染的具体资源表示形式。该区域仍可通过网格细节级别(LoD)和纹理 MIP 层实现扩展,但不支持合成。在 SLIM 出现之前,所有流式传输到体验中的实例均采用此方式渲染。 

HL 区域(重量级实例,轻量级渲染) 

HL区域位于HH和LL区域之间。在此区域内,客户端在数据模型中拥有重量级实例,但可选择使用完整渲染管道或SLIM管道进行渲染。该区域具有自适应能力,即使用户遇到网络延迟,也能确保HH和LL区域之间的无缝过渡。 HH 区域与 HL 区域之间的过渡点是动态的,这使得 Harmony 能够根据任一方向的资源激增立即进行扩展或缩减。

LL 区域(轻量级实例,轻量级渲染) 

在 LL 区域,客户端仅流式传输定义 SLIM 模型坐标系所需的超轻量级实例表示,以及最基本的元数据。该区域仅渲染轻量级合成 SLIM 模型,而非每个单独的实例和资源。与流式传输所有重量级实例并使用传统渲染管线相比,LL 区域所需的三角形和绘制调用数量大幅减少,并降低了用户设备上的内存占用。

该区域技术使客户端能够随时渲染整个可见世界,同时避免了同时使用所有重量级实例和资源所带来的全部计算成本。远处的物体采用高度优化的轻量级表示形式,当用户靠近时,这些表示会被高保真版本所替换。SLIM 创建复合模型和多种缩放级别的细节等级(LoD)模型的能力,为 Harmony 提供了更多手段,以针对每位用户的设备优化资源质量。

当所有元素完美融合时,玩家将获得完全沉浸式的体验,完全察觉不到任何过渡点或细节等级的变化。

未来展望:SLIM将走向何方?

SLIM 只是多阶段旅程中的第一步,我们期待看到创作者如何将这项技术融入其工作流程。未来,我们计划从两个主要方向拓展 SLIM 的应用。 

确定哪些内容还能应用 SLIM 

我们目前从创作者在 Studio 中指定的静态模型入手,但未来 SLIM 将能够优化 Roblox 上最复杂的模型之一:平台角色。角色及其相关的动画、分层服装和配饰,对创作者而言往往是难以预测的变量。允许对角色应用 SLIM 技术,意味着引擎可以有效限制单个角色模型的资源消耗。

最终,我们希望让创作者能够选择利用 SLIM 来处理动态模型的变更。试想一个模型:服务器可以主动对其进行更改(例如门打开或某个部件被破坏),但通过一些巧妙的技巧,客户端可以复用相同的轻量级表示形式。

优化 SLIM 管道 

既然我们已拥有一个为引擎提供全新灵活性维度的端到端管道,我们现在也致力于让管道本身变得更智能、更快速、更高效。这包括:

  • 纹理重新分块:将多个模型纹理智能地打包到单张优化后的纹理图中。
  • 自动分割:利用对环境的语义和空间理解,自动识别最适合 SLIM 处理的模型。
  • 更轻量级的表示:对于对延迟依赖性较低的动态对象,我们正在探索生成几乎无需客户端资源即可渲染的 2D 表示。
  • 分层 SLIM:将 SLIM 模型逐层嵌套,从而能够简化整组实例,并使引擎能够在不同粒度级别之间动态切换——例如,从单棵树到整片森林,再到布满森林及其他物体的整片陆地。
  • 分辨率提升:目前,我们专注于为性能进行优化,但很快,同一系统将使我们能够为未来的硬件提高资产的分辨率,同时保持创作者的原始艺术意图。这种新架构意味着,随着我们的引擎在模拟现实方面变得越来越好,我们可以不断升级其使用的表示形式。 

SLIM 结合 Harmony 以及我们其余的流媒体和内容分发架构,是我们致力于为更多玩家提供更广阔、更细致世界的愿景中的一次巨大飞跃。引擎、内容分发和云基础设施的紧密集成,加上来自数百万创作者的海量内容库,使我们能够构建深度互联的系统,从而提升整体体验。 随着引擎对现实的模拟能力不断提升,我们可以持续升级其使用的表现形式。目前,我们专注于优化性能,但很快,这一系统将使我们能够为未来硬件提升资产分辨率,同时保留创作者最初的艺术意图。

我们正在构建的平台不仅尊重这种艺术意图,还能智能且自动地将创作者的作品,通过各种设备,在任何有 Roblox 服务的地方,呈现给任何用户。我们迫不及待想看到社区将用它创造出什么。

1截至2025年第三季度。