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

      • 入门
      • 版本与更新
      • 下载与安装
      • 界面概览与导航
      • 重建前工作
      • 模型重建
      • 单模型重建
      • 地图融合
      • 空地融合
      • 航拍重建
      • 我的模型
      • 其他功能
      • 设置与账号
      • 转换工具
      • 视频重建
      • 常见问题 / FAQ
    • 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
    • X-Brain

      • 产品概述
      • 硬件接口
      • 快速开始
      • 核心概念
      • 集成指南
      • API 参考
      • 数据类型
      • ROS2 桥接
      • 示例程序
      • 部署与网络
      • 排障与 FAQ
      • 版本与发布
    • 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
    • Lixel OpenAPI

      • 概述
      • 连接与鉴权
      • 消息模型与编解码
      • 接口清单
      • 实时数据
      • 项目文件访问
      • 错误码
      • Python

        • 快速开始
        • 客户端封装与工具
        • 常见问题
      • C++

        • 快速开始
        • 客户端与示例
        • 常见问题

数据类型:枚举与结构体

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。