3DGS 畫面參數調節
本篇分為三部分:通用參數在兩條管線上均可用;隨後分別列出各管線獨有的參數,這些參數在另一條管線的 Details 面板中不顯示。
通用參數
渲染模式
3D Gaussian Splatting(默認)
以 2D 高斯橢圓渲染,具有完整的顏色和透明度。
LCCComponent->SetRenderMode(ERenderMode::Splatting);
點雲
將每個 Splat 渲染為單個彩色點,適合概覽或性能受限場景。
LCCComponent->SetRenderMode(ERenderMode::PointCloud);

在 3DGS 與點雲渲染模式之間切換
點雲模式支持高程著色:
ElevationColorBottom— 最低高程顏色ElevationColorTop— 最高高程顏色

點雲模式的高程著色效果
加載模式
數據分為主體和環境兩部分,通過 LoadMode 控制渲染哪一部分:
| 模式 | 說明 |
|---|---|
| Both | 渲染主體和環境(默認) |
| OnlyMain | 僅渲染主體 |
| OnlyEnvironment | 僅渲染環境 |
| None | 不渲染,數據保持加載 |

切換 LoadMode 的主體與環境渲染範圍
注:
None只停止渲染,數據仍佔用顯存。要釋放資源需調用UnLoad()。
光照模式
Unlit(不受光,默認)
僅使用高斯自身的顏色,不與場景光源交互。
Lit(受光)
啟用延遲光照,3DGS 場景可被方向光、點光等影響。需要深度和法線信息。
LCCComponent->SetLightMode(ELightMode::Lit);

在 Unlit 與 Lit 光照模式之間切換
Mip Filter
啟用後使用 2D 低通濾波器配合不透明度補償,減少不同縮放下的閃爍。
默認值按數據格式區分:
| 格式 | 默認值 |
|---|---|
.lcc2 / .lcc | 開啟 |
.ply / .spz / .sog | 關閉 |
單文件格式默認關閉,是為了保留數據原始的銳利外觀。出現閃爍時手動開啟:
LCCComponent->SetUseMipFilter(true);
球諧係數(SH)
提供視角相關的顏色變化,提升光照保真度。
LCCComponent->SetUseShcoef(true);
要求:
- 渲染模式為 3DGS
- 數據本身包含 SH 係數
數據是否包含 SH 係數按格式區分:
| 格式 | 判定方式 |
|---|---|
.lcc2 / .lcc | 由數據的文件類型決定,Quality 類型包含 SH,Portable 類型不包含 |
.ply / .spz / .sog | 無文件類型標識,取決於文件中是否實際寫入了 SH 係數 |
數據不包含 SH 係數時,該開關在 Details 面板中不可用。
SplatScale
控制每個 Splat 四邊形的大小,取值 0.001 ~ 1.0。
調小會減少單個 Splat 的屏幕覆蓋面積,半透明疊加隨之減少,像素填充成本下降;降得過多會讓表面出現孔洞或明顯變薄。它同時是性能調優的手段之一,詳見性能優化指南。
LCCComponent->SetSplatScale(1.0f);

設置 Splat 縮放與 3DGS 全局透明度
全局透明度
兩種渲染模式各有獨立的全局透明度屬性,取值均為 0.0 ~ 1.0:
| 屬性 | 適用模式 |
|---|---|
| GlobalAlpha | 3DGS |
| GlobalAlpha_PointCloud | 點雲 |
LCCComponent->SetGlobalAlpha(1.0f);
LCCComponent->SetGlobalAlpha_PointCloud(1.0f);

設置點雲模式的全局透明度
顏色調整

配置 LCC 的飽和度、對比度與色調參數
支持運行時修改:
| 屬性 | 範圍 | 說明 |
|---|---|---|
| Saturation | 0.0~2.0 | 通道飽和度 |
| Contrast | 0.0~2.0 | 通道對比度 |
| Gamma | 0.0~2.0 | 通道 Gamma 校正 |
| Offset | -1.0~1.0 | 加性顏色偏移 |
| ColorTint | LinearColor | 乘性色調 |
LCCComponent->SetSaturation(FVector4(1.2, 1.2, 1.2, 1.0));
LCCComponent->SetColorTint(FLinearColor::White);

動態調整顏色參數後的畫面效果
抗鋸齒
啟用 bAffectAntiAliasingMethod 後,插件自動管理抗鋸齒方法:
| 配置 | 默認方法 |
|---|---|
| LCC1 Splat | FXAA |
| LCC2 Splat | TSR |
| LCC1 Point Cloud | MSAA |
| LCC2 Point Cloud | TSR |
可在 ProjectSettings > Plugins > LCC4Unreal 中修改默認值。
注:抗鋸齒方法是視圖級別的全局設置。場景中同時存在 LCC 管線與 LCC2 管線的 Actor 時,兩者會分別按各自的配置設置抗鋸齒方法,最終生效的取決於執行先後順序,結果不確定。此類場景需在設置中將兩條管線的抗鋸齒方法手動配置為一致。

配置不同 LCC 管線的默認抗鋸齒方法
後處理

配置 LCC4Unreal 後處理與色調映射選項
| 設置 | 默認值 | 說明 |
|---|---|---|
| Enable Post Process | 開啟 | LCC 像素是否參與引擎後處理管線 |
| Apply Tonemap Inverse | 關閉 | 在色彩空間轉換時應用 FilmToneMapInverse,使引擎色調映射後仍還原數據原本的外觀 |
這些是全局配置,位於 ProjectSettings > Plugins > LCC4Unreal > Rendering,對兩條管線均生效。場景中所有 LCC 組件共用同一模式,無法按 Actor 單獨設置。
Enable Post Process 關閉後的效果
兩種狀態的處理方式不同:
| 狀態 | 處理方式 | 結果 |
|---|---|---|
| 開啟 | 對 LCC 像素應用 InverseACES,使其進入引擎後處理管線 | 3DGS 與場景中的常規物體一同接受色調映射、Bloom、曝光、色彩分級等後處理 |
| 關閉 | 色調映射前保存一份快照,色調映射完成後按 Alpha 混合回畫面 | 3DGS 保持原始色彩,不受色調映射及其之後的後處理環節影響 |
關閉適用於需要嚴格還原數據原始色彩的場合,例如色彩校驗、與參考圖比對。代價是 3DGS 與場景中常規物體的觀感不再統一,畫面整體的後處理效果(如 Bloom、曝光)不會作用於 3DGS 部分。
注:關閉 Enable Post Process 需要引擎開啟 Alpha 通道輸出,否則合成結果不正確。在 ProjectSettings > Engine > Rendering 中啟用 Alpha Output(UE 5.4 及更早版本對應「Enable alpha channel support in post processing」,需設為 Linear color space only 並重啟編輯器)。插件在檢測到該項未開啟時會彈出提示。
Apply Tonemap Inverse 的作用
3DGS 數據的顏色是採集時已完成色調映射的成品色。這類顏色再次經過引擎的色調映射後會被二次壓縮,通常表現為對比度下降、高光偏灰。
開啟該項後,插件在色彩空間轉換階段對 LCC 顏色應用 FilmToneMapInverse,預先抵消引擎後續的色調映射,使最終畫面還原數據原本的外觀。
| 狀態 | 適用場景 |
|---|---|
| 關閉(默認) | 3DGS 與場景中常規物體走同一套色調映射,整體觀感統一 |
| 開啟 | 需要 3DGS 呈現數據原本的色彩與對比度 |
該項對兩條管線均生效,且僅在 Enable Post Process 開啟時有意義——關閉後 3DGS 本就不參與色調映射,無需抵消。
LCC2 管線專有參數
深度閾值
AlphaThreshold 決定 3DGS 向深度緩衝寫入哪一層的深度。3DGS 由多層半透明 splat 疊加而成,插件按由近及遠累積不透明度,累積值達到該閾值時,將當前深度記錄為該像素的代表深度。
| 項目 | 值 |
|---|---|
| 取值範圍 | 0.01 ~ 0.99 |
| 默認值 | 0.5 |
調低使深度偏向相機,調高使深度偏離相機。該深度參與光照、遮擋判斷以及依賴深度的後處理,因此 Lit 模式下的表面響應、與常規網格的相互遮擋都會隨之變化。
LCC2Component->AlphaThreshold = 0.5f;
需要調低的典型情況:數據中存在透明度很低的薄結構,例如昆蟲或鳥類的翅膀、紗網、樹葉邊緣。這類區域的 splat 累積不透明度始終達不到默認的 0.5,因而不會寫入深度。若場景中同時存在天空盒、霧等非純黑背景,這些區域會因缺少深度而被背景色混合進來,表現為結構變淡、細節丟失。將閾值調低可讓這類區域儘早寫入深度,恢復細節。
調整時逐步下調並觀察,過低會使深度整體貼近相機,影響遮擋關係與依賴深度的後處理。
注:該屬性位於 Details 面板的 Advanced 折疊區,默認值適用於多數場景。
LCC 管線專有參數
陰影接收
LCCComponent->bReceiveShadows = true;
注:需渲染模式為 3DGS。開啟後對性能影響較大。

啟用陰影接收後的 3DGS 渲染效果
接縫裁切
bEnableSeamCutting 用於裁切分塊渲染在節點交界處產生的接縫。LCC 數據版本 5.0 及以上會自動啟用,低版本數據出現可見接縫時手動開啟。
LCCComponent->bEnableSeamCutting = true;
注:該屬性位於 Details 面板的 Advanced 折疊區。
多 Actor 半透排序
LCC 管線不輸出深度,多個 LCC Actor 之間無法通過深度測試得到正確的相互遮擋,只能依靠半透繪製順序近似。bEnableMultipleLCCActorAutoSort(默認開啟)會按 Actor 到相機的距離自動設置 TranslucentSortPriority,讓較近的 Actor 後繪製,從而在多數情況下得到合理的疊加結果。
該排序的粒度是 Actor 級別:每個 Actor 整體參與排序,不細分到 splat。因此存在固有限制:
- 兩個 LCC Actor 的包圍盒在空間上相互交叉、穿插時,無法用一個整體順序表達正確的前後關係,交叉區域的遮擋會出錯
- 單個 Actor 內部跨越很大深度範圍時,按 Actor 中心距離排序的結果可能與實際前後關係不符
需要多個 3DGS 正確相互遮擋時,改用 LCC2 管線。需要手動指定疊加順序時關閉該項,改為自行設置各 Actor 的 TranslucentSortPriority。
LCC2 管線不提供該屬性,其數據匯總到統一 Buffer 後按 splat 全局排序,並輸出深度參與遮擋判斷,無需干預。