Enums:枚舉類型參考
LCC4UnrealRuntime 模塊對外公開的枚舉類型。
| 模塊 | LCC4UnrealRuntime |
| 頭文件 | Core/LCCEnum.h |
#include "Core/LCCEnum.h"
標記 BlueprintType 的枚舉在藍圖中可直接使用,可以接 Switch 節點、作為變量類型。
Rendering
ERenderMode
渲染模式。用於 ULCCComponentBase::RenderMode。
| 值 | 面板顯示 | 說明 |
|---|---|---|
Splatting | 3DGS | 渲染為 3D 高斯潑濺,畫質高,開銷大 |
PointCloud | Point Cloud | 渲染為點雲,畫質低,開銷小 |
切到點雲能大幅降低開銷,適合俯瞰、小地圖、遠景這些不需要細節的場合。點雲模式下 3DGS 專屬參數(球諧、SplatScale、GlobalAlpha)不起作用。
相關接口:SetRenderMode、ToggleRenderMode
ELoadMode
加載過濾模式。用於 ULCCComponentBase::LoadMode。
| 值 | 面板顯示 | 說明 |
|---|---|---|
Both | Both | 渲染主體與環境 |
OnlyMain | OnlyMain | 只渲染主體 |
OnlyEnvironment | OnlyEnvironment | 只渲染環境 |
None | None | 不渲染任何內容 |
主體是採集的核心區域,環境是外圍補充數據。None 相當於臨時隱藏但保留內存數據,恢復比重新加載快得多。
相關接口:SetLoadMode
ELightMode
光照模式。用於 ULCCComponentBase::LightMode。
| 值 | 面板顯示 | 說明 |
|---|---|---|
Unlit | Unlit | 不受場景光照影響,顯示採集時的原始顏色 |
Lit | Lit | 參與場景光照,可與動態光互動 |
採集數據已經烘進了現場光照,切 Lit 會再疊一層容易過曝。LCC2 需要配合 LightingScale 壓低原始亮度。僅 3DGS 模式有效。
相關接口:SetLightMode、ToggleLightMode
EShadowMode
陰影模式。
| 值 | 面板顯示 | 說明 |
|---|---|---|
None | None | 不接收陰影 |
Static | Static | 接收靜態陰影 |
Dynamic | Dynamic | 接收動態陰影 |
EColorationMode
着色模式。
| 值 | 面板顯示 | 說明 |
|---|---|---|
None | None | 只用色調 |
Data | Data | 使用導入的 RGB |
Elevation | Evelation | 按高程着色,覆蓋原始顏色 |
Position | Position | 按相對位置着色,覆蓋原始顏色 |
Elevation 配合 ElevationColorBottom 與 ElevationColorTop 做地形高度可視化。
ELCC2NormalGenerationMode
LCC2 法線生成模式。用於 ULCC2Component::NormalMode。
3DGS 數據本身沒有幾何法線,而光照需要法線。前三種模式都是近似構造,只有 ProxyMesh 提供真實法線。
| 值 | 面板顯示 | 真實明暗 | 說明 |
|---|---|---|---|
Fixed | Fixed | 否 | 整片 3DGS 共用一個用戶指定的世界法線,默認朝上。整片亮度等於 dot(法線, 光照方向) |
ViewFacing | View Facing | 否 | 整片朝向攝像機,受光均勻 |
Hemispherical | Hemispherical | 否 | 與攝像機無關的法線,由屏幕位置映射到固定世界半球 |
ProxyMesh | Proxy Mesh | 是 | 由場景中的 ALCC2ProxyMesh 提供真實深度與法線,3DGS 只貢獻顏色 |
各模式的取捨:
| 模式 | 優點 | 缺點 |
|---|---|---|
Fixed | 無對角光帶,攝像機移動完全穩定,開銷最低 | 完全沒有形體明暗;光從法線背面來時整片變暗 |
ViewFacing | 無需配置,無對角光帶 | 沒有形體明暗;轉動攝像機時整體亮度漂移 |
Hemispherical | 無對角光帶,攝像機移動穩定,日光掃過時過渡最平滑 | 仍非真實明暗;需調 NormalPole 與 NormalHemiSpread |
ProxyMesh | 真實的幾何法線與深度 | 需要製作並擺放匹配的代理網格;需授權,未授權時回退為 Fixed |
選擇建議:默認 Fixed;要平滑日光推移用 Hemispherical;要真實形體明暗用 ProxyMesh;ViewFacing 只適合快速看效果。
相關頁面:ULCC2Component、ALCC2ProxyMesh
Clipping and Section
EClipType
裁剪方向。用於 ALCCClippingVolume::Mode。
| 值 | 面板顯示 | 說明 |
|---|---|---|
Inside | Inside | 體積內部被裁掉 |
Outside | Outside | 體積外部被裁掉 |
Inside 用於挖洞、剖開外殼;Outside 用於只保留感興趣區域。
EClipVolumeType
裁剪體形狀。用於 ALCCClippingVolume::VolumeType。
| 值 | 說明 |
|---|---|
Box | 盒形體積 |
Sphere | 球形體積 |
ESectionType
剖切方向。用於 ALCCSectionPlane::Mode。
| 值 | 面板顯示 | 說明 |
|---|---|---|
Upside | Upside | 平面上方被切掉 |
Downside | Downside | 平面下方被切掉 |
上下是相對平面自身朝向的,不是世界坐標。旋轉剖切面可以得到任意方向的剖切。
相關頁面:ALCCClippingVolume、ALCCSectionPlane
Data and Format
ELCCVersion
數據版本。
| 值 | 說明 |
|---|---|
LCC | LCC1 格式 |
LCC2 | LCC2 格式 |
相關接口:ULCCComponentBase::GetLccVersion
EFileFormat
文件格式。ULCCUtilLibrary::DetermineFileFormat 的返回類型。
| 值 | 對應擴展名 |
|---|---|
None | 無法識別,或路徑不存在 |
LCC | .lcc |
Splats | .splats |
LAS | .las |
PLY | .ply |
注意 DetermineFileFormat 的識別範圍有限:.lcc2、.sog、.spz 都會返回 None。判斷這幾種格式請直接看擴展名,詳見 DetermineFileFormat。
EDataSourceType
LCC2 樹的數據源格式。用於 FLCC2MetaInfo::SplatType。
| 值 | 說明 |
|---|---|
SOG | .sog 數據源 |
SPZ | .spz 數據源 |
PLY | .ply 數據源 |
這是普通 C++ 枚舉,沒有 UENUM 標記,藍圖中不可見。
EFileType
數據內容類型。
| 值 | 面板顯示 | 說明 |
|---|---|---|
Portable | Portable | 只含 RGB,無球諧 |
Quality | Quality | 同時含 RGB 與球諧 |
Portable 數據沒有球諧可用,此時 bUseShcoef 不可編輯。CanSetShcoef() 實際就是判斷類型是否為 Quality。
ELCCSourceType
數據來源。ULCCUtilLibrary::DetermineSourceType 的返回類型。
| 值 | 說明 |
|---|---|
Local | 本地文件 |
Http | 網絡地址 |
ECollisionType
碰撞數據格式。ULCCUtilLibrary::DetermineCollisionType 的返回類型。
| 值 | 說明 |
|---|---|
None | 無碰撞數據 |
Bin | 舊版 .bin 格式 |
Lci | 新版 .lci 格式 |
Ply | 點雲 .ply 碰撞 |
返回 None 時開啟 bEnableCollision 不會有效果。
ELoadStatus
加載狀態。
| 值 | 說明 |
|---|---|
Success | 成功 |
Failure | 失敗 |
Progress | 進行中 |
Performance and Scheduling
ETraversalType
節點遍歷方式。用於項目設置(Project Settings → Plugins → LCC4Unreal)的 Default Traversal Type。
| 值 | 面板顯示 | 說明 |
|---|---|---|
Circle | Circle | 以攝像機為圓心、最大渲染距離為半徑的圓形遍歷 |
Sector | Frustum | 基於攝像機視錐體的遍歷 |
Frustum 只處理視野內節點,通常更省,但快速轉視角時視野外節點沒有預加載,可能出現補齊延遲。
注意枚舉名是 Sector,面板顯示是 Frustum。
ESortMethod
半透明排序方式。用於項目設置的 Default Sort Method。
| 值 | 說明 |
|---|---|
GPU | 使用 GPU 排序 |
CPU | 使用 CPU 排序 |
一般用 GPU。
ESortMode
排序順序。
| 值 | 說明 |
|---|---|
Ascending | 升序 |
Descending | 降序 |
EComputeType
計算管線類型。
| 值 | 說明 |
|---|---|
Compute | 使用圖形管線上的 Compute |
AsyncCompute | 使用異步 Compute 管線 |
當前實現使用 Compute,AsyncCompute 存在渲染問題尚未啟用。
Localization
ELocale
語言環境。ULCCUtilLibrary::GetLocale 的返回類型。
| 值 | 說明 |
|---|---|
EN_US | 英文 |
ZH_CN | 簡體中文 |
ELanguagePreference
插件界面語言偏好。用於項目設置的 Language。
| 值 | 面板顯示 | 說明 |
|---|---|---|
FollowEditor | Follow Editor | 跟隨編輯器當前語言設置 |
AlwaysEnglish | Always English | 強制英文,不受編輯器語言影響 |
Using Enums in Blueprint
藍圖裏可以用 Switch 節點對枚舉分支:
[Get Render Mode]
Target = (LCC Component)
│ Return Value ──┐
▼ │
[Switch on ERenderMode] ◀┘
│ Splatting ──▶ (3DGS 分支邏輯)
│ Point Cloud ─▶ (點雲分支邏輯)
也可以直接比較:
[Get Effective Normal Generation Mode]
│ Return Value ──┐
▼ │
[Equal (Enum)] ◀─────────┘
A = (Return Value)
B = Proxy Mesh
│
▼
[Branch]
See Also
- ULCCComponentBase:
ERenderMode、ELoadMode、ELightMode的使用 - ULCC2Component:
ELCC2NormalGenerationMode的使用 - ULCCUtilLibrary:返回格式類枚舉的工具函數
- Structs:使用這些枚舉的結構體