SLIM

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

SLIM (可擴展輕量互動模型) 是一個自動優化系統,使用雲端轉碼(將資產轉換為更高效的格式)生成輕量級、優化的 Models 和平台化身的表示。啟用後,SLIM 將多個部分合併為更少的繪製調用(發送到 GPU 的渲染命令),並生成多個細節級別,允許引擎根據距離、設備能力和可用資源智能選擇最佳表示。

未啟用 SLIM — 流式傳輸的模型不可見
啟用 SLIM — 優化的替代品保持可見

SLIM 提供三個主要好處:

  • 視覺質量
    — 遠處模型的細節比舊版模型細節級別系統更高,保持與原始模型的更高相似度。
  • 一致的過渡
    — 模型內的所有部分同時切換細節級別,消除令人不安的逐部分過渡。
  • 性能
    — 複合網格顯著減少繪製調用、三角形數量和內存使用,能夠在所有設備層級上實現更豐富的場景。

在這些已發佈的遊戲中探索 SLIM:

城市人車 SLIM 模板 — 啟用 SLIM 的世界模型

SLIM 平台化身 — 200 個使用 SLIM 渲染的動畫化身

前提條件

SLIM 需要以下條件:

  1. StreamingEnabled 必須在 Workspace 對象上啟用。另見 流式傳輸屬性 以獲取相關建議設置。
  2. 地點必須 保存到 Roblox(而不是本地 .rbxl 文件),因為 SLIM 使用雲端轉碼生成優化資產。如果您在本地測試,請發佈地點然後啟用 SLIM。
  3. 必須為遊戲啟用 團隊創建,因為 SLIM 依賴於雲資產生成的相關屬性。

技術行為

當您發佈或測試一個啟用 SLIM 的模型的遊戲時,引擎會將模型數據上傳到雲服務,該服務生成具有多個細節級別的優化複合網格。在運行時,客戶端從 CDN 獲取這些資產,並根據距離和設備能力選擇適當的細節級別,根據距離將每個 SLIM 模型分類到渲染區域:

顯示從玩家角色輻射出的四個 SLIM 渲染區域的圖示。
範圍行為
完整實例流式傳輸進來;傳統的逐部分渲染。
完整實例流式傳輸進來,但引擎在更高效時渲染 SLIM 複合體。
實例流式傳輸出(在 DataModel 中僅存在最小佔位符,而不是完整的模型層次結構),SLIM 複合體渲染。
DataModel 中的最小佔位符,未渲染。

SLIM 用於模型

SLIM 最適合用於表示 靜態世界幾何 的模型 — 建築、道具、車輛、地形特徵和其他在運行時不會改變的環境物體。添加或移除部分、改變材料或在運行時修改幾何會阻止 SLIM 正確渲染模型。請參見 模型結構 以獲取一般模型結構指導和 限制 以獲取完整的排除列表。

要在模型上啟用 SLIM,請在 屬性 窗口中將其 LevelOfDetail 屬性設置為 SLIM

屬性窗口,LevelOfDetail 屬性設置為 SLIM。

當 SLIM 在模型上設置時,引擎:

  1. 將模型的渲染相關屬性(幾何、材料、紋理、變換)序列化為緊湊表示。模型內支持的實例類型包括 PartMeshPartDecalTextureSurfaceAppearancePartOperationNegateOperationSpecialMesh
  2. 在首次發佈或播放時將此數據上傳到雲轉碼服務。
  3. 雲服務生成具有多個細節級別的合成網格,去除隱藏的內部幾何並優化紋理。
  4. 在運行時,客戶端獲取優化的 SLIM 資產,並在引擎流式傳輸原始模型或當 SLIM 比完整模型更高效時渲染它。

如果您的遊戲使用舊版的 StreamingMesh 設置來設置 Model.LevelOfDetail,您可以通過選擇它們並在 屬性 窗口中更改屬性來轉換單個模型,或者您可以使用以下腳本在 命令欄 中批量轉換多個模型。請注意,某些與 StreamingMesh 一起使用的模型可能需要進行 SLIM 調整,特別是那些具有重疊部分或複雜的 PartOperation 層次結構的模型。

批量轉換 StreamingMesh 為 SLIM
for _, descendant in workspace:GetDescendants() do
if descendant:IsA("Model") and descendant.LevelOfDetail ==
Enum.ModelLevelOfDetail.StreamingMesh then
descendant.LevelOfDetail = Enum.ModelLevelOfDetail.SLIM
end
end

SLIM 用於化身

默認情況下,當平台化身位於當前流式傳輸區域之外時,將不可見。啟用 SLIM 化身會將 標準骨架 的玩家角色 — 無論他們擁有多少配件或服裝層 — 渲染為輕量級的動畫替代品,並在渲染成本的很小一部分中保持視覺保真度。


化身的關鍵 SLIM 特定屬性是 Workspace.EnableSLIMAvatars,應在 屬性 窗口中設置為 Enabled,同時將 LevelOfDetail 設置為 SLIM 在您的非化身世界模型上。

屬性窗口,EnableSLIMAvatars 屬性設置為啟用。

啟用 EnableSLIMAvatars 後,引擎:

  • 當實際化身模型流式傳輸出時,渲染 SLIM 版本。
  • 根據可用資源在 SLIM 和全解析度表示之間切換,即使在流式傳輸半徑內。
  • 根據場景重要性和可用帶寬限制 SLIM 動畫。

模型 SLIM 不同,您可以通過遠離模型直到其流式傳輸出來單獨測試,SLIM 化身需要遊戲中有多個玩家來觀察。使用這些 測試模式 之一來測試 SLIM 化身:

  • 團隊測試 — 與朋友或替代帳戶加入以查看遠處的 SLIM 化身。
  • 伺服器和客戶端 — 啟動兩個或更多客戶端窗口,每個客戶端顯示其他客戶端在距離時渲染為 SLIM 的化身副本。

請注意,化身必須在啟用 SLIM 的遊戲中進行轉碼,才能顯示為 SLIM。如果化身在您的第一次測試中未渲染為 SLIM,請稍等片刻後重新加入遊戲以允許轉碼完成。

限制

限制詳細信息
需要流式傳輸SLIM 只在 StreamingEnabled 設置為 true 時運行。沒有流式傳輸,符合 SLIM 的模型將回退到傳統的細節級別渲染。
僅靜態模型模型 SLIM 不支持在運行時修改的模型(添加/移除部分、改變屬性)或播放動畫的模型。
人形實例引擎排除包含 Humanoid 的模型進行靜態 模型 SLIM 處理。使用 SLIM 化身 來處理動畫玩家角色。
化身限制SLIM 化身 只支持 R15 標準骨架 玩家角色。R6 骨架、NPC 和具有自定義比例的化身將回退到默認渲染。
雲端依賴雲服務在 CDN 上生成和存儲 SLIM 資產。離線或本地測試而不發佈地點不會產生 SLIM 結果。
零縮放模型引擎排除 Scale0 的模型進行 SLIM 處理。
平台可用性在尚不支持 SLIM 的平台上,設置為 SLIM 的模型將回退到 Disabled

疑難排解

  • 確認 StreamingEnabledtrue
  • 確認地點已發佈到 Roblox 並且啟用了 團隊創建
  • 檢查模型的 LevelOfDetail 是否設置為 SLIM
  • 在首次發佈後等待 1–2 分鐘以完成雲轉碼,然後重新加入。
  • 確保模型不包含 Humanoid 實例。

PartOperation 實例的 固體建模(聯合、交集、否定)在某些 SLIM 模型中可能未正確渲染。如果聯合在 SLIM 表示中顯示缺失或失真,請嘗試將受影響的 PartOperation 分離到自己的模型中或簡化 CSG 操作。

當原始模型中的部分具有重疊或共面的面時,可能會發生 Z-衝突。要解決:

  • 將重疊的部分稍微分開(即使 0.01 studs 也足夠)。
  • 避免在同一模型中相鄰部分之間的完全平整表面。

SLIM 在轉碼過程中重新生成 UV 映射(紋理如何投影到 3D 表面上)。默認的 Roblox 材料可能顯示出與原始材料略有不同的鋪設模式。為了減輕:

  • 對於重要表面,使用 SurfaceAppearance 的自定義紋理。
  • 將視覺相關的部分分組到同一模型中,以確保一致的紋理。

全身或手指動畫可能偶爾會因骨骼複製時間而顯示視覺伪影。這是一個已知問題,正在積極改進。如果問題嚴重,請確認動畫腳本未在標準動畫管道之外修改骨骼變換。

當啟用 SLIM 化身時,渲染統計面板可能報告不正確的三角形數量。這是一個已知的報告錯誤,不會影響實際的渲染性能。

©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。