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:使用这些枚举的结构体