XGRIDS文檔
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 靈視 P 系列

    • 靈視 P1

      • 產品概述
      • 設備基本操作
      • 使用 LCC Scan App
      • 維護及保養
      • 常見問題
  • 靈光 K 系列

    • 靈光 K1

      • 產品概述
      • 設備基本操作
      • 設備激活與連接
      • 設備採集
      • 獲取絕對座標點雲數據
      • 地圖融合
      • 典型場景路線規劃建議
      • 注意事項
      • 常見問題
    • 靈光 K2

      • 產品概述
      • 設備基本操作
      • 設備激活與連接
      • 設備採集
      • 獲取絕對座標點雲數據
      • 地圖融合
      • 典型場景路線規劃建議
      • 注意事項
      • 常見問題
  • 靈光 L 系列

    • 靈光 L2 Pro

      • 產品概述
      • 設備基本操作
      • 設備激活與連接
      • 設備採集
      • 獲取絕對座標點雲數據
      • 實時測量功能
      • 附錄
      • 常見問題
    • 靈光 L3

      • 產品概述
      • 設備基本功能
      • 設備激活與連接
      • 設備採集
      • 獲取絕對座標點雲數據操作流程
      • 附錄
  • 配件

    • 補光燈

      • 安裝指導
      • 基本操作
      • 常見問題
  • Lixel Studio

    • 版權
    • 安裝與激活
    • 界面說明
    • 文件
    • 工程處理
    • 工具
    • 平面繪製
    • 行業應用
    • 設置
    • 設備感知
    • 常見問題 / FAQ
  • Lixel CyberColor

    • LCC Studio

      • 入門
      • 版本與更新
      • 下載及安裝
      • 介面概覽及導覽
      • 重建前準備
      • 模型重建
      • 單模型重建
      • 地圖融合
      • 空地融合
      • 航拍重建
      • 我的模型
      • 其他功能
      • 設定與帳戶
      • 設置與賬號
      • Converter
      • 影片重建
      • 視頻重建
      • 常見問題
    • LCC Scene Editor

      • 版本與更新
      • 賬號與登錄
      • 產品概覽與主頁
      • 編輯器界面介紹
      • 三種場景漫游快捷操作
      • 文件
      • 設置
      • 編輯操作
      • 窗口
      • 全局工具欄
      • 資產與屬性
      • 左側工具欄
      • 視點
      • 跳轉點
      • 天空盒
      • 標注
      • 測量
      • 場景漫游
      • 場景報告
      • 智能戶型圖(3D Layout)
      • 小地圖
      • 預覽模式(Viewer)
      • 幫助
      • 常見問題 / FAQ
      • 出生點
    • LCC Model Editor

      • 版本與更新
      • 新手指引
      • 概覽與界面
      • 文件操作
      • 選擇器
      • 編輯操作
      • 測量
      • 調色
      • 資產管理
      • 設置與幫助
      • 常見問題 / FAQ
    • 採集指南

      • 概述
      • 採集設備總覽
      • 通用採集原則
      • 室內場景採集
      • 室外場景採集
      • 大場景採集(地圖融合)
      • 空地融合採集
      • 物體採集
      • 人物採集
      • 影片重建採集
      • 高清補拍
      • 控制點(靈視 P1)
      • 常見問題與排查
    • LCC Studio Linux

      • 產品概要說明
      • 基本架構說明書
      • 安裝部署說明書
      • 容器啟動參數說明書
      • CodeMeter離線授權部署說明書
      • API指令集說明書
      • 附錄-開發者數據說明書
      • 附錄-錯誤碼列表
      • 單機多卡集群部署QuickStart
    • 使用技巧

      • 多個大型 3DGS 模型融合工作流
    • 歷史版本
  • Plugin & SDK

    • Unreal

      • 介紹
      • 快速入門 - Windows
      • 快速入門 - Linux
      • 快速入門 - Quest3
      • 版本與授權
      • 渲染
      • Tiled 光柵化(實驗性)
      • 畫面調節
      • 法線與光照
      • 場景編輯
      • 性能參數說明
      • 性能優化指南
      • 第三方與引擎插件集成
      • 代理網格
      • 加載動畫
      • 碰撞
      • 尋路系統支持
      • 單層水支持
      • 本地化
      • 常見問題
      • 故障排查
      • 日誌與診斷
      • 聯繫我們
      • 最佳實踐

        • 用 LixelStudio 網格為 3DGS 重打光
      • API 參考

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG / SPZ / PLY Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • 更新日誌

        • 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 簡介
      • 技術特性
      • 開發環境要求
      • PC 快速開發入門指南
      • 工程設置優化指南
      • Pico 4 Ultra 開發指南
      • Pico 4 Ultra PC 串流指南
      • Quest 3 開發指南
      • Quest 3 PC 串流指南
      • OpenXR 開發指南
      • Pico 4 Ultra 企業串流指南
      • 術語表
      • 常見問題
      • 聯絡我們
      • 功能開發指南

        • 多場景混合渲染開發指南
        • 陰影接收開發指南
        • 實時光照開發指南
        • 多相機渲染開發指南
        • 高清圖像渲染開發指南
        • LCC 與 LCC2 數據格式兼容開發指南
        • 加載特效開發指南
        • Mip 渲染模式切換開發指南
        • 邊角點吸附開發指南
        • 投影貼花開發指南
        • 視頻流投影開發指南
        • 高亮顯示開發指南
        • 實時裁剪開發指南
        • 調色開發指南
        • 獲取場景 Mesh 數據開發指南
        • 編輯器模式開發指南
        • 渲染性能參數設置指南
        • 應用與數據協同打包開發指南
        • 碰撞系統開發指南
        • macOS 開發權限問題操作指南
        • iOS 設備編譯打包開發指南
      • API 參考

        • LCCManager
        • Renderer
        • 數據類型
      • 更新日誌

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

      • 介紹
      • 渲染性能優化指南
      • 顯卡配置
      • 常見開發問題
      • API參考

        • 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
      • 更新日誌

        • 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

數據類型:枚舉與結構體

LCC Unity SDK 對外公開的枚舉與結構體,供 LCCManager 與 Renderer 的方法使用。

枚舉

PlatformType

目標運行平台。用於 SetPlatformType()。

public enum PlatformType { PC, Mac, Android, iOS, Pico, Quest, AVP, PicoSwan, OpenXR, PCVR }

ActiveRenderMode

全局渲染架構模式。用於 SwitchRenderPass()。

public enum ActiveRenderMode { MultiRender, SingleRender }
值說明
MultiRender使用共享 GPU Buffer,可同時渲染最多 255 個 Renderer
SingleRender由 SDK 根據數據量自動選擇渲染路徑

僅 PC / Mac 平台適用;移動端 / VR 平台自動採用適配策略,調用 SwitchRenderPass() 會被拒絕。

SourceType

數據來源類型。由 Renderer.GetSourceType() 返回。

public enum SourceType { LCC, PLY, SPLAT, TYY, None, SOG, SPZ, KSPLAT }

DataType

數據格式類型。由 Renderer.GetDataType() 返回。

public enum DataType { L1, L2, L2Pro, K1, K2, Drone, Drone_L2, PortalCam, None }

MipMode

Mip 渲染模式。用於 SetMipMode()。

public enum MipMode { Mip, Non_Mip }
值說明
Mip使用 mipmap 採樣(默認)
Non_Mip禁用 mipmap,渲染細節更好但性能開銷更高

SnapType

吸附類型。用於 HitResult.snapType 與 SnapPreviewState.snapType。

public enum SnapType { None, Edge, Corner }

SelectionMode

節點篩選策略。用於 SetSelectionMode()。

public enum SelectionMode { Auto, Normal, Large }
值說明
Auto根據場景整體包圍盒自動決策(默認)
Normal適用於中小場景
Large適用於超大場景(1000 米以上)

RenderMode

點雲 / 3DGS 渲染模式。用於 SwitchRenderMode()。

public enum RenderMode { PointCloud, LCCGS }
值說明
PointCloud點雲渲染
LCCGS3DGS 渲染

SelectMode

選區取捨模式。用於 Data2D、Data3D 等選區數據。

public enum SelectMode { normal, invert, clip }

OperationMode

多幾何體布爾運算模式。用於 Data3D、DataMix 等選區數據。

public enum OperationMode { normal = 0, erase = 1 }
值說明
normal並集
erase差集

EditType

混合選區中的條目類型。用於 DataMix、ToneMix。

public enum EditType { Edit2D, Edit3D }

ShapeType

3D 裁切 / 高亮幾何體類型。用於 Data3D、DataMix、ToneMix。

public enum ShapeType { box, sphere }

結構體

HitResult

射線檢測命中結果。由 Raycast()、RaycastMesh()、RaycastWithSnap() 返回。

public struct HitResult {
    public bool isHit;             // 是否命中
    public float distance;         // 距離
    public Vector3 hitPos;         // 命中點世界座標
    public Vector3 normal;         // 命中法線
    public float hitAlpha;         // 被擊中橢球的 Alpha
    public float dist2Origin;      // 到射線源的距離
    public float scale;            // 橢球 scale
    public SnapType snapType;      // 吸附類型(None / Edge / Corner)
    public Vector3 originalHitPos; // 吸附前原始命中點
}

命中點世界座標字段名為 hitPos。

SnapPreviewState

吸附預覽狀態。由 GetSnapPreviewState() 返回。

public struct SnapPreviewState {
    public bool hasTarget;          // 是否有吸附目標
    public SnapType snapType;       // None / Edge / Corner
    public Vector2 screenPos;       // 吸附目標屏幕座標
    public float distanceToMouse;   // 到鼠標位置的像素距離
}

screenPos 是屏幕座標(像素),不是世界座標。需要世界座標時請用 RaycastWithSnap() 取 HitResult.hitPos。

Data2D

2D 紋理投影選區。用於 2D 紋理裁切 / 高亮。

public struct Data2D {
    public Texture2D texture;  // R8 1024x1024 蒙版紋理
    public Matrix4x4 mv;       // ModelView 矩陣
    public Matrix4x4 mvp;      // ModelViewProjection 矩陣
    public SelectMode mode;    // normal / invert
}

Data3D

3D 幾何體選區。用於 3D 幾何體裁切 / 高亮。

public struct Data3D {
    public ShapeType type;          // box / sphere
    public Matrix4x4 invMat;        // 幾何體逆變換矩陣
    public OperationMode operation; // normal=並集, erase=差集
    public SelectMode mode;         // normal / invert / clip
}

DataMix

2D + 3D 混合選區。用於混合模式裁切 / 高亮。

public struct DataMix {
    public EditType editType;       // Edit2D / Edit3D
    public ShapeType type;          // 3D 幾何體類型
    public Matrix4x4 invMat;        // 3D 逆變換矩陣
    public Texture2D texture;       // 2D 蒙版紋理
    public Matrix4x4 mv;            // 2D ModelView
    public Matrix4x4 mvp;           // 2D MVP
    public OperationMode operation;
    public SelectMode mode;
}

ToneMix

調色選區,在 DataMix 基礎上增加調色參數。用於 SetTone()。

public struct ToneMix {
    public EditType editType;       // Edit2D / Edit3D
    public ShapeType type;          // 3D 幾何體類型
    public Matrix4x4 invMat;        // 3D 逆變換矩陣
    public Texture2D texture;       // 2D 蒙版紋理
    public Matrix4x4 mv;            // 2D ModelView
    public Matrix4x4 mvp;           // 2D MVP
    public OperationMode operation;
    public SelectMode mode;
    public float brightness;        // 亮度(默認 1.0)
    public float saturation;        // 飽和度(默認 1.0)
    public float contrast;          // 對比度(默認 1.0)
    public int lutid;               // LUT 濾鏡索引(0=不使用)
}

PointLightData

自定義點光源 / 聚光燈數據。用於 SetLights()。

public struct PointLightData {
    public float3 position;    // 世界座標
    public int lightType;      // 0=點光源, 1=聚光燈
    public float3 color;       // rgb 顏色(無 alpha 分量)
    public float intensity;    // 光照強度
    public float3 direction;   // 聚光燈朝向(點光源忽略)
    public float range;        // 光照範圍
    public float spotAngle;    // 聚光燈錐角(度,點光源忽略)
    public float3 pad;         // 對齊填充,無需賦值
}

字段類型為 Unity.Mathematics.float3,不是 Vector4;color 不含 alpha 分量。lightType 為 0 時是點光源(忽略 direction / spotAngle),為 1 時是聚光燈。

DecalOcclusionSettings

貼花遮擋剔除質量參數。用於 SetDecalOcclusionSettings()。

public struct DecalOcclusionSettings {
    public float opacityCutoff;   // [0,1] splat 參與深度圖的最低 opacity,默認 0(全部參與)
    public float depthBias;       // 相對深度容差比例,默認 0.05
    public int   footprintMaxPx;  // 方形足跡半徑上限(px),0~16,默認 2
    public int   resolution;      // 深度圖分辨率(px,2 的冪,256~4096),默認 1024

    public static DecalOcclusionSettings Default { get; } // cutoff=0, bias=0.05, footprint=2, resolution=1024
}
字段說明
opacityCutoff只有不透明度 ≥ 此值的 splat 參與深度圖,可濾掉漂浮 / 霧狀 splat。默認 0(全部參與)。
depthBias相對深度容差比例,按距離成比例吸收點雲表面厚度。默認 0.05。過小會出現自遮擋噪點,過大會漏擋。
footprintMaxPx保守方形足跡半徑上限(像素),用於蓋滿鄰域、避免穿透漏染。0 為單紋素,範圍 0~16,默認 2。過大會導致輪廓外擴、過遮擋。
resolution深度圖分辨率(像素,2 的冪,256~4096)。調低可填補稀疏空洞,代價是遮擋邊界略糙。默認 1024。

SplatMeta

3DGS 數據的元信息。由 Renderer.GetMeta() 輸出,包含數據來源(source)、數據格式(dataType)等元數據,可在不完整加載數據的情況下讀取。

LCCMeshBlockInfo

碰撞 Mesh 分塊元信息。由 Renderer.GetMeshBlockInfos() 返回。

public struct LCCMeshBlockInfo {
    public string id;           // 節點 id,與 LCCMeshBlock.id 對應
    public Bounds boundsWorld;  // 世界空間 AABB,用於挑選 id
    public Bounds boundsLocal;  // 本地空間 AABB
    public int vertexCount;     // 頂點數
    public int faceCount;       // 面數
}
字段類型說明
idstring節點 id,與 LCCMeshBlock.id 對應
boundsWorldBounds世界空間 AABB,用於挑選 id
boundsLocalBounds本地空間 AABB
vertexCountint頂點數
faceCountint面數

LCCMeshBlock

碰撞 Mesh 分塊幾何數據。由 Renderer.GetMeshes() 返回。

public struct LCCMeshBlock {
    public string id;           // 節點 id
    public Vector3[] vertices;  // 頂點,本地座標系
    public int[] triangles;     // 三角形索引,每 3 個一組
    public Bounds boundsLocal;  // 與 vertices 同空間的包圍盒
}
字段類型說明
idstring節點 id
verticesVector3[]頂點數組,物體本地座標系
trianglesint[]三角形索引,每 3 個一組
boundsLocalBounds與 vertices 同空間的包圍盒

vertices / boundsLocal 都在物體本地座標系,把承載 Mesh 的 GameObject 掛到 Renderer.Transform 之下即可自動對齊。單塊頂點數可超過 65535,自建 Mesh 前必須設置 mesh.indexFormat = IndexFormat.UInt32。