XGRIDSDocs
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • PortalCam

    • Product Overview
    • Basic Operation
    • Using the LCC Scan App
    • Maintenance and Care
    • FAQ
  • Lixel K Series

    • Lixel K1

      • Product Overview
      • Basic Operation
      • Device Activation and Connection
      • Scanning Workflow
      • Acquire Point Cloud Data with Absolute Coordinate
      • Map Fusion
      • Route Planning Suggestions for Typical Scenes
      • Precautions
      • FAQ
    • Lixel K2

      • Product Overview
      • Basic Operation
      • Device Activation and Connection
      • Scanning Workflow
      • Acquire Point Cloud Data with Absolute Coordinate
      • Map Fusion
      • Route Planning Suggestions for Typical Scenes
      • Precautions
      • FAQ
  • Lixel L Series

    • Lixel L2 Pro

      • Product Overview
      • Basic Operation
      • Device Activation and Connection
      • Scanning Workflow
      • Acquire Point Cloud Data with Absolute Coordinate
      • Measure Point
      • Appendix
      • FAQ
  • Lixel Studio

    • Version and Copyright
    • Installation and Activation
    • Software Interface
    • File Operations
    • Project Processing
    • Tools
    • 2D Drawing
    • Applications
    • Settings
    • Device Connection
  • Lixel CyberColor

    • LCC Studio

      • Getting Started
      • Version and Updates
      • Download and Installation
      • Interface Overview and Navigation
      • Before Reconstruction
      • Model Reconstruction
      • Single Model Reconstruction
      • Map Fusion
      • Aerial-Ground Fusion
      • Aerial Reconstruction
      • My Models
      • Other Features
      • Settings and Account
      • Converter
      • Video Reconstruction
      • FAQ
    • LCC Scene Editor

      • Version & Updates
      • Account & Login
      • Product Overview & Home
      • Editor Interface
      • Scene Navigation Modes
      • File
      • Settings
      • Edit Operations
      • Window
      • Global Toolbar
      • Assets & Properties
      • Left Toolbar
      • Viewpoints
      • Portal
      • Skybox
      • Annotations
      • Measurement
      • Flythrough
      • Scene Report
      • 3D Layout
      • Mini-Map
      • Preview Mode (Viewer)
      • Help
      • FAQ
      • Spawn Point
    • LCC Model Editor

      • Version and Updates
      • User Guide
      • Overview and Interface
      • File Operations
      • Selectors
      • Editing Models
      • Measurement
      • Color Grading
      • Asset Management
      • Settings and Help
      • FAQ
    • Capture Guide

      • Overview
      • Capture Devices Overview
      • General Capture Principles
      • Indoor Scene Capture
      • Outdoor Scene Capture
      • Large-Scale Capture (Map Fusion)
      • Aerial-Ground Map Fusion Capture
      • Object Capture
      • People Capture
      • Video Reconstruction Capture
      • HD Enhancement
      • Control Points (Lixel P1)
      • FAQ and Troubleshooting
    • Version History
  • Plugin & SDK

    • Unreal

      • Introduction
      • Quick Start - Windows
      • Quick Start - Linux
      • Quick Start - Quest3
      • Editions and Licensing
      • Rendering
      • Visual Settings
      • Normals and Lighting
      • Scene Editing
      • Performance Parameters
      • Performance Guide
      • Third-party and Engine Plugin Integration
      • Proxy Mesh
      • Loading Animation
      • Collision
      • Navigation System Support
      • Single Layer Water Support
      • Localization
      • FAQ
      • Troubleshooting
      • Logging and Diagnostics
      • Contact Us
      • API Reference

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG / SPZ / PLY Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Changelog

        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1

Fixing 3DGS Occluded by the Single Layer Water Material

Single Layer Water Support

Overview

Single Layer Water of Unreal Engine implements refraction, caustics, and underwater fog through the depth buffer. Its core dependency is scene depth: only pixels that wrote valid depth can take part in the refraction and absorption calculation of the water surface.

Why Separate Compatibility Is Needed

The plugin renders 3DGS and writes depth through the View Extension mechanism, which happens after the BasePass. In the default flow, single layer water copies the depth buffer before the BasePass for later compositing, and at that moment the 3DGS has not been rendered yet, so the copy naturally does not contain its depth.

ConfigurationWhen the depth buffer is copiedDoes the copy contain 3DGS
Default (disabled)Before the BasePassNo
SingleLayerWater Support enabledAfter the BasePassYes
Default flow                     With support enabled

Copy depth buffer ← no 3DGS       BasePass
     │                                │
     ▼                                ▼
  BasePass                     3DGS writes depth
     │                                │
     ▼                                ▼
3DGS writes depth              Copy depth buffer ← with 3DGS
     │                                │
     ▼                                ▼
Water composite ← 3DGS missing   Water composite ← 3DGS read correctly

When the copy has no 3DGS depth, the water surface reads the scene behind the 3DGS during its refraction and absorption calculation, so the underwater 3DGS does not take part in refraction and the occlusion relationship between the water surface and the 3DGS is judged incorrectly.

With SingleLayerWater Support enabled, the plugin uses r.Water.SingleLayer.DepthPrepass to delay the copy until after the BasePass, when the 3DGS depth is already written, so the water surface can process it correctly.

The result without SingleLayerWater Support enabled:

Rendering result without single layer water support enabled

Rendering result without single layer water support enabled

Cost

  • Once enabled, model shadows show some aliasing.
Shadow aliasing after enabling single layer water support

Shadow aliasing that can appear after enabling single layer water support

Steps

1. Enable the Setting

Click the settings button in the LCC4Unreal panel of the editor to open the plugin settings page in the project settings, tick SingleLayerWater Support, and restart the engine for it to take effect.

Enabling SingleLayerWater Support

Enabling SingleLayerWater Support in the project settings

2. Create a Single Layer Water Material

  1. Create a new material and set Shading Model to Single Layer Water
  2. Configure the water color, absorption coefficient, scattering, and other parameters
  3. Apply it to a water surface Mesh or WaterBodyCustom

3. Place the Water Surface

Place the water Actor at a suitable position in the LCC2 scene. The water height determines which 3DGS pixels are underwater.

4. Confirm the Result

Once the LCC2 scene loads and renders normally:

Correct rendering result after enabling single layer water support

Correct rendering result after enabling single layer water support

Notes

  • This setting is global and affects every single layer water material in the project
  • The engine must be restarted after changing it (the CVar is ReadOnly and affects the shader key)
  • The cost is that water pixels lose some Virtual Shadow Map shadow quality
  • Leave it disabled by default in projects that do not use single layer water
Prev
Navigation System Support
Next
Localization