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 全局排序,并输出深度参与遮挡判断,无需干预。