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

    • PortalCam P1

      • 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 L3

      • Product Overview
      • Basic Device Functions
      • Device Activation and Connection
      • Data Capture
      • Capturing Absolute Coordinates
      • Appendix
  • Lixel Studio

    • Version and Copyright
    • Installation and Activation
    • Software Interface
    • File Operations
    • Project Processing
    • Tools
    • 2D Drawing
    • Applications
    • Settings
    • Device Connection
    • FAQ
  • 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
    • LCC Studio Linux

      • Product Overview
      • Architecture Guide
      • Installation and Deployment Guide
      • Container Startup Parameters Guide
      • CodeMeter Offline Licensing Deployment Guide
      • API Reference
      • Appendix - Developer Data Guide
      • Appendix - Error Code List
      • Single-Machine Multi-GPU Cluster Deployment QuickStart
    • Best Practices

      • Merging Multiple Large 3DGS Models
    • Version History
  • Plugin & SDK

    • Unreal

      • Introduction
      • Quick Start - Windows
      • Quick Start - Linux
      • Quick Start - Quest3
      • Editions and Licensing
      • Rendering
      • Tiled Rasterization (Experimental)
      • 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
      • Best Practices

        • Relighting 3DGS with a LixelStudio Mesh
      • API Reference

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

        • v3.4.0
        • 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
    • Unity

      • Unity SDK Introduction
      • Technical Features
      • Development Environment Requirements
      • PC Quick Start Guide
      • Project Settings Optimization Guide
      • Pico 4 Ultra Development Guide
      • Pico 4 Ultra PC Streaming Guide
      • Quest 3 Development Guide
      • Quest 3 PC Streaming Guide
      • OpenXR Development Guide
      • Pico 4 Ultra Business Streaming Guide
      • Glossary
      • FAQ
      • Contact Us
      • Feature Development Guide

        • Multi-Scene Mixed Rendering Development Guide
        • Shadow Receiving Development Guide
        • Real-Time Lighting Development Guide
        • Multi-Camera Rendering Development Guide
        • High-Resolution Image Rendering Development Guide
        • LCC and LCC2 Data Format Compatibility Development Guide
        • Loading Effect Development Guide
        • Mip Rendering Mode Switching Development Guide
        • Edge and Corner Snapping Development Guide
        • Projected Decal Development Guide
        • Video Projected Decal Development Guide
        • Highlight Development Guide
        • Real-Time Clipping Development Guide
        • Color Adjustment Development Guide
        • Getting Scene Mesh Data Development Guide
        • Editor Mode Development Guide
        • Render Performance Parameter Configuration Guide
        • Application and Data Co-packaging Development Guide
        • Collision System Development Guide
        • macOS Development Permission Issue Guide
        • iOS Device Compilation and Packaging Development Guide
      • API Reference

        • LCCManager
        • Renderer
        • Data Types
      • Changelog

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
    • Web

      • Introduction
      • Rendering Performance Optimization Guide
      • Graphics Configuration
      • FAQ
      • API Reference

        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
      • Changelog

        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0
    • Lixel OpenAPI

      • Overview
      • Connection & Authentication
      • Message Model & Codec
      • Interface Catalog
      • Real-time Data
      • Project File Access
      • Error Codes
      • Python

        • Quick Start
        • Client Wrapper & Tools
        • FAQ
      • C++

        • Quick Start
        • Client & Examples
        • FAQ

PC Quick Start Guide

Import the LCC Unity SDK and render a 3DGS scene in Unity from scratch.

Prerequisites

Before you begin, make sure your development computer meets the hardware and Unity version requirements, and that you have obtained the LCC Unity SDK package. See Development Environment Requirements for details.

  • Unity version: fully tested and verified on Unity 2022.3.62f1, Unity 6000.0.69f1 and Unity 6000.5.9f1
  • Render pipeline: tested and verified on Built-in Pipeline and Universal Render Pipeline (URP)
  • The LCC Unity SDK package has been downloaded (SDK Download).

Basic Workflow

Step 1: Create a URP project

Using Unity 6.0 LTS as an example, create a Universal 3D (URP) project.

The LCC Unity SDK Built-in version supports Unity 2022.3 LTS (including Built-in and URP pipeline); other versions only support the URP pipelines. When creating a project with Unity 6.0 LTS or later, be sure to select the Universal 3D template.

Create a Universal 3D (URP) project with Unity 6.0 LTS

Create a Universal 3D (URP) project with Unity 6.0 LTS

Step 2: Import the LCC SDK package

  1. In Unity, open the Package Manager via Window → Package Manager.
  2. Click the + button in the upper-left corner and select Install package from disk.
Select Install package from disk in Package Manager

Select Install package from disk in Package Manager

  1. In the file dialog that appears, navigate to the LCC SDK package location, select its package.json file, and click Open to import the package.
Select the package.json file in the package to import

Select the package.json file in the package to import

  1. Unity begins importing the LCC SDK package. After the import completes, select Samples in the package import panel to import the usage samples.
Import the Samples in the package import panel

Import the Samples in the package import panel

At this point, the LCC SDK package import is complete.

Step 3: Configure the graphics API

Open the settings panel via Edit → Project Settings → Player, select the Other entry under the corresponding platform tab, and configure the graphics API per platform:

PlatformAction
WindowsUncheck Auto Graphics API for Windows and add DirectX12, Vulkan and DirectX11
macOSUncheck Auto Graphics API for Mac and keep Metal
LinuxUncheck Auto Graphics API for Linux and keep Vulkan
Configure the graphics API for each platform in Player settings

Configure the graphics API for each platform in Player settings

Note: prefer Gamma for the Color Space.

Step 4: Open the sample scene

Open the imported sample scene, located by default at Project → Samples/LCC SDK/X.X.X/LCC SDK/LCCViewer (X.X.X is the package version number).

Open the LCCViewer scene in the sample

Open the LCCViewer scene in the sample

Note:

In the opened scene, select the LCCManager GameObject in the Hierarchy panel; check in the Inspector window whether the LCCManager component is attached (in some cases the component may be lost), and if not, add it via Add Component.

Step 5: Set the data path

In the opened scene, select the LCCRenderer GameObject in the Hierarchy panel; in the Inspector panel, point the LCC Renderer script's File Path to the data directory. Note that it must point directly to the xxx.lcc2 file.

Set the LCC Renderer File Path in the Inspector

Set the LCC Renderer File Path in the Inspector

Note:

In the opened scene, check whether the Manager property of the LCCRenderer component attached to the LCCRenderer GameObject has the LCCManager component assigned (in some cases the reference may be lost), and if not, drag the LCCManager GameObject onto that property.

Path syntax for different platforms (examples):

PlatformPath syntaxExample
WindowsUse double backslashes \\
or a single backslash \
G:\\GaussianSplat\\0315-art-center\\xxx.lcc2
macOSUse forward slashes //users/data/lcc/xxx.lcc2
ServerUse forward slashes /https://xgus1.blob.core.windows.net/lcc-pub/Tower/xxx.lcc2

Note:

  1. The Transform of LCCRenderer must match the image above, which aligns it with the data coordinate system. If this GameObject is created via code, set its Rotation and Scale to match the image above as well.
  2. Because of the data coordinate system, in Unity the Transform of the GameObject that holds the Renderer must be set as shown above (this can also be done at runtime in code). For details about coordinate system alignment, see "LCC Data Coordinate System" in Unity SDK Introduction.

Step 6: Adjust input handling

Unity 6.0 LTS and later use Input System by default, while the camera in the Samples uses Input Manager, so the input handling mode needs to be adjusted.

Open the settings panel via Edit → Project Settings → Player, find Active Input Handling under the Other Settings section, and set it to Both.

Set Active Input Handling to Both

Set Active Input Handling to Both

Step 7: Run

Click the Run button in Unity, and you will see the rendered scene.

The rendered 3DGS scene after running

The rendered 3DGS scene after running