本網站內容使用人工智慧(AI)或機器翻譯技術翻譯,可能存在錯誤。

Skip to content

介紹 SLIM:可擴展輕量級互動模型

善用輕量級渲染合成技術,為各類裝置打造更遼闊且更細膩的世界

SLIM Car Comparison.webp

Roblox 匯聚了數百萬種體驗,從簡單的迷你遊戲到充滿高保真 3D 資產的遼闊開放世界。 我們的目標是支援創作者在各類使用者裝置上構思的體驗,這些體驗日益密集且複雜,這需要我們在引擎、內容傳輸系統及基礎架構方面進行創新。可擴展輕量級互動模型(Scalable Lightweight Interactive Models,簡稱 SLIM)是多階段開發計畫的一部分,它讓創作者能在不犧牲效能的前提下,實現其宏大的藝術願景。 

SLIM 讓創作者能自動為 Roblox 體驗中的任何物件建立輕量級表示形式,將客戶端渲染穩健且無縫世界所需的繪製呼叫、三角面及資料模型實例數量降至最低。SLIM 為我們的串流模型提供了強大的新內容優化方式,讓使用高階遊戲電腦的用戶與使用低階行動裝置的用戶,都能以各自裝置所能處理的最高畫質共享相同的體驗。

SLIM Scene.webp
啟用實例串流與 SLIM 後,上述場景所使用的資料模型實例、三角形及繪製呼叫數量大幅減少。

不使用實例串流與 SLIM

啟用實例串流與 SLIM

客戶端資料模型實例

159,745

92,536

三角形

2,000萬

335萬

繪製呼叫

2,402

1,454

串流的兩大支柱:執行個體與資產

當您在喜愛的串流服務上觀看電影時,您的裝置並不會在開始觀看前就下載整個檔案。它只會下載足夠讓您立即開始觀看所需的資料,然後持續下載(或緩衝)接下來幾秒鐘的內容,以確保觀看體驗不中斷。 若您使用低階裝置或網路連線速度較慢,平台會自動調整,先傳送較低畫質的內容,同時下載足夠的資料以串流高畫質內容。 

Roblox 採用類似的概念來即時串流內容,但呈現高畫質 3D 模擬所需的大量數據帶來了獨特的挑戰。影片內容具有單一視角的線性時間軸,而 Roblox 的體驗則包含廣闊且互動的 3D 世界,其中充滿各類資產,並可由使用者從多種視角進行探索。 再加上每日有 1.515 億活躍用戶透過各式各樣的裝置進行遊玩、探索,並最終串流內容,這意味著在優化內容傳輸與顯示方式方面,蘊藏著巨大的潛力。1

使用者在 Roblox 上所見的一切——無論是汽車、樹木、虛擬角色或建築物——在引擎中皆以多個實例的形式呈現。以可駕駛的汽車為例,其會被分解為保險桿、車門、輪胎等實例。每個實例皆透過多種資產(如 3D 網格、紋理、動畫及音訊)在體驗中建構而成。

Roblox 上的幾乎所有串流都分為兩項核心技術:實例串流與資產串流。

  • 實例串流決定了用戶裝置需要串流哪些實例。對於用戶尚未看見或無法互動的體驗部分,無需進行串流。在上述範例中,僅有代表附近建築物的實例會被串流至客戶端。
  • 資產串流則決定串流實例的品質。對於距離遙遠、使用者無法辨識細部細節的山脈,無需下載高解析度的 4K 貼圖。在上圖中,遠處的建築物以及佔用螢幕空間較小的建築物,皆採用降采樣網格與較低解析度的貼圖。 

這項運作的核心中樞是我們稱為「Harmony」的系統,它每幀都會監控每位用戶的可用資源。Harmony 會根據裝置的記憶體、GPU 與 CPU 負載,以及網路頻寬,調整實例與資產的串流設定,以提供最佳體驗。對於高階遊戲電腦,Harmony 會將所有設定調至最高品質;對於網路連線較弱的行動裝置,則會自動降低品質以維持流暢的使用體驗。

開發團隊在《Tech Talks》播客第 30 集中,深入探討了串流技術、雲端轉碼以及 SLIM 技術背後的運作原理。 

SLIM:可擴展輕量級互動模型

SLIM 的核心理念簡單卻強大:SLIM 能自動為創作者世界中的任何物件或模型生成多個輕量級且經過優化的表示形式,並將其儲存於伺服器中,以便在執行時調用。隨後,每位使用者的客戶端可根據裝置的可用資源,在渲染原始實例與資產,或其中一種輕量級 SLIM 表示形式之間動態切換。 

SLIM 採用兩項主要技術來生成輕量級表示形式:

1. 合成

首先,SLIM 將多個部件整合為較少的部件。例如下圖中的汽車,原本需要 112 個獨立網格與 24 張獨立貼圖,其輕量級表示形式可能僅需一個網格與四張貼圖。合成過程經過精確調校,以匹配引擎最終渲染內容的方式,消除物件內的不可見幾何體,並減少渲染所需的繪製呼叫次數。

SLIM Car Comparison.webp

2. 細節等級 (LoD)

在完成模型合成後,SLIM 會生成多個不同細節等級的版本。這意味著會建立三角面數量大幅減少的 3D 網格版本,並以更低解析度生成貼圖,如同我們使用傳統 LoD 技術處理任何單一網格或貼圖資產時所做的一樣。由於我們擁有每個底層實例的獨立座標系,因此將這些技術應用於 SLIM 模型時,可以進一步進行優化。這使我們能完整掌握創作者原本期望這些資產如何共同渲染的整體脈絡。 憑藉這項資訊,SLIM 讓我們能更明智地決定何處應移除不必要的細節,以及何處應保留使用者會注意到的細節。

undefined

適時呈現合適的表現形式

一旦我們為某個物件建立多個呈現形式,SLIM 必須決定針對特定使用者的裝置該採用哪一種,或是改用傳統的渲染技術。系統將世界劃分為三個截然不同的區域。理解這些區域的簡易方式,是想像從播放器向外延伸的同心圓狀細節層次。

未定義
串流邊界實際上並非圓形。其形狀取決於多種因素。

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 年第三季。