3DGS 場景裁剪與剖切
三種工具的作用階段不同:裁剪框與剖切平面只改變最終渲染結果,數據照常加載;加載體積框作用在加載之前,被排除的區域根本不會讀進來。
| 工具 | 作用階段 | 能否降低加載量與顯存 | 邊界精度 |
|---|---|---|---|
| 加載體積框 | 加載前篩選 | 能 | 按節點,邊界保守 |
| 裁剪框 | 最終渲染 | 不能 | 按 splat,邊界精確 |
| 剖切平面 | 最終渲染 | 不能 | 按 splat,邊界精確 |
裁剪框
裁剪框可自由縮放、移動、旋轉,幫助開發者對 LCC 場景進行空間裁剪。
- 同一 Actor 最多支持 65536 個裁剪框,免費版限制為 50 個,詳見版本與授權
- 支持盒體與球體兩種形狀,均可縮放、移動、旋轉
注:裁剪只作用於最終渲染,被裁掉的區域仍會正常參與節點遍歷、加載與顯存上傳。因此裁剪不能用於降低加載量或顯存佔用,需要控制這些開銷時使用性能優化指南中的手段。
使用步驟
- 放置 LCCActor/LCC2Actor 並加載場景
- 拖放
LCC Clipping Volume至場景中

將 LCC Clipping Volume 拖放到場景中
- 移動裁剪框到目標位置
- 在 Actor 細節面板中將 Clipping Volume 添加到
ClippingVolumes數組

裁剪框的 Inside 內部裁剪效果
使用演示

移動裁剪框並觀察實時裁剪效果
屬性
| 屬性 | 說明 |
|---|---|
| bEnabled | 是否啟用 |
| Mode | Inside(內裁剪)或 Outside(外裁剪) |
| VolumeType | Box(盒體)或 Sphere(球體) |
藍圖方法
LCCComponent → AddClippingVolume
LCCComponent → RemoveClippingVolume
注:
Refresh與SetUpdateComponent已廢棄。裁剪數據每幀讀取,改屬性或移動裁剪框都會在下一幀自動生效,不需要再調用它們。

使用藍圖節點添加、移除與刷新裁剪框
剖切平面
剖切平面可自由縮放、移動、旋轉,對場景進行平面剖切。
- 同一 Actor 最多支持 65536 個剖切平面,免費版限制為 50 個,詳見版本與授權
- 支持向上或向下剖切,與裁剪框數量各自獨立計數
注:剖切只作用於最終渲染,被剖掉的區域仍會正常參與節點遍歷、加載與顯存上傳。因此剖切不能用於降低加載量或顯存佔用。
使用步驟
- 放置 LCCActor/LCC2Actor 並加載場景
- 拖放
LCC Section Plane至場景中

將 LCC Section Plane 拖放到場景中
- 移動到目標位置
- 在 Actor 細節面板中將 Section Plane 添加到
SectionPlanes數組
使用演示

移動剖切平面並觀察實時剖切效果
屬性
| 屬性 | 說明 |
|---|---|
| bEnabled | 是否啟用 |
| Mode | Upside(向上剖切)或 Downside(向下剖切) |
藍圖方法
LCCComponent → AddSectionPlane
LCCComponent → RemoveSectionPlane
注:
Refresh與SetUpdateComponent已廢棄,原因同上。

使用藍圖節點添加、移除與刷新剖切平面
加載體積框
加載體積框在數據進入內存之前就完成篩選:節點遍歷只保留被它選中的節點,落選區域的數據完全不讀取。因此它是本篇三種工具中唯一能真正降低加載量與顯存佔用的一個,適合從大場景裏只取一小塊來用。
- 支持盒體與球體兩種形狀,可自由縮放、移動、旋轉
- 一個加載體積框可同時作用於場景中的多個 LCC Actor
- 專業版功能,未授權時不生效,數據按完整範圍加載,詳見版本與授權
注:篩選按節點為單位,邊界比裁剪框粗。需要精確邊界時,在同一位置疊加一個變換相同的裁剪框,由加載體積框負責減少加載量、裁剪框負責修整邊緣。
使用步驟
- 放置 LCCActor/LCC2Actor
- 拖放
LCC Load Volume至場景中 - 調整位置、旋轉與縮放,框住需要保留的範圍
- 在 Actor 細節面板中將 Load Volume 添加到
LoadVolumes數組 - 加載場景
注:篩選在加載時生效。已經加載完成後再修改加載體積框,需要重新加載才能看到變化。
屬性
| 屬性 | 說明 |
|---|---|
| bEnabled | 是否啟用 |
| Mode | Inside(只加載框內)或 Outside(排除框內) |
| VolumeType | Box(盒體)或 Sphere(球體) |
兩種模式的判定邊界不同:
| 模式 | 判定方式 | 邊界表現 |
|---|---|---|
| Inside | 節點完全落在框內才加載 | 邊緣節點會被捨棄,實際範圍略小於框 |
| Outside | 節點與框有任何重疊即排除 | 邊緣節點會被捨棄,實際排除範圍略大於框 |
兩種模式都偏保守,這樣在相機移動、LOD 在父子節點間切換時不會出現區域忽隱忽現。
藍圖方法
LCCComponent → AddLoadVolume
LCCComponent → RemoveLoadVolume