XGRIDS文档
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 灵视 P1

    • 产品概述
    • 设备基本操作
    • 使用 LCC Scan App
    • 维护及保养
    • 常见问题
  • 灵光 K 系列

    • 灵光 K1

      • 产品概述
      • 设备基本操作
      • 设备激活与连接
      • 设备采集
      • 获取绝对坐标点云数据
      • 地图融合
      • 典型场景路线规划建议
      • 注意事项
      • 常见问题
    • 灵光 K2

      • 产品概述
      • 设备基本操作
      • 设备激活与连接
      • 设备采集
      • 获取绝对坐标点云数据
      • 地图融合
      • 典型场景路线规划建议
      • 注意事项
      • 常见问题
  • 灵光 L 系列

    • 灵光 L2 Pro

      • 产品概述
      • 设备基本操作
      • 设备激活与连接
      • 设备采集
      • 获取绝对坐标点云数据
      • 实时测量功能
      • 附录
      • 常见问题
  • 配件

    • 补光灯

      • 安装指导
      • 基本操作
      • 常见问题
  • Lixel Studio

    • 版权
    • 安装与激活
    • 界面说明
    • 文件
    • 工程处理
    • 工具
    • 平面绘制
    • 行业应用
    • 设置
    • 设备感知
  • Lixel CyberColor

    • LCC Studio

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

      • 版本与更新
      • 账号与登录
      • 产品概览与主页
      • 编辑器界面介绍
      • 三种场景漫游快捷操作
      • 文件
      • 设置
      • 编辑操作
      • 窗口
      • 视图工具栏
      • 资产与属性
      • 左侧工具栏
      • 视点
      • 跳转点
      • 天空盒
      • 标注
      • 测量
      • 场景漫游
      • 场景报告
      • 智能户型图(3D Layout)
      • 小地图
      • 预览模式(Viewer)
      • 帮助
      • 常见问题 / FAQ
      • 出生点
    • LCC Model Editor

      • 版本与更新
      • 新手指引
      • 概览与界面
      • 文件操作
      • 选择器
      • 编辑操作
      • 测量
      • 调色
      • 资产管理
      • 设置与帮助
      • 常见问题 / FAQ
    • 采集指南

      • 概述
      • 采集设备总览
      • 通用采集原则
      • 室内场景采集
      • 室外场景采集
      • 大场景采集(地图融合)
      • 空地融合采集
      • 物体采集
      • 人物采集
      • 视频重建采集
      • 高清补拍
      • 控制点(灵视 P1)
      • 常见问题与排查
    • LCC Studio Linux

      • 产品概要说明
      • 基本架构说明书
      • 安装部署说明书
      • 容器启动参数说明书
      • CodeMeter离线授权部署说明书
      • API指令集说明书
      • 附录-开发者数据说明书
      • 附录-错误码列表
      • 单机多卡集群部署QuickStart
    • 历史版本
  • Plugin & SDK

    • Unreal

      • 介绍
      • 快速入门 - Windows
      • 快速入门 - Linux
      • 快速入门 - Quest3
      • 版本与授权
      • 渲染
      • 画面调节
      • 法线与光照
      • 场景编辑
      • 性能参数说明
      • 性能优化指南
      • 第三方与引擎插件集成
      • 代理网格
      • 加载动画
      • 碰撞
      • 寻路系统支持
      • 单层水支持
      • 本地化
      • 常见问题
      • 故障排查
      • 日志与诊断
      • 联系我们
      • API 参考

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

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

LCCRender::load

加载 LCC 数据,返回 LCCObject 对象。

WebSDK 支持 Three.js 和 CesiumJS 引擎,通过传入不同的引擎参数来加载 LCC 模型。

版本要求

SDK v0.2.0+

引擎支持

Three.js / CesiumJS

API

LCCRender::load(param: LoadOptions, successFunc: SuccessFunc, progressFunc: ProgressFunc, failureFunc: FailureFunc, preProcessFunc?: PreProcessFunc): LCCObject

参数

param(Three.js)

参数类型必选默认值描述
param.cameraTHREE.PerspectiveCamera / THREE.OrthographicCamera是-Three.js 相机对象。
param.sceneTHREE.Scene是-Three.js 场景对象。
param.renderLibTHREE是-Three.js 库引用,例如 import * as THREE from 'three'。
param.renderLibWebgputypeof import('three/webgpu')否-Three.js WebGPU 模块引用,例如 import * as THREE_WEBGPU from 'three/webgpu'。
param.renderLibTSLtypeof import('three/tsl')否-Three.js TSL 模块引用,例如 import * as TSL from 'three/tsl'。
param.rendererTHREE.WebGLRenderer是-Three.js 渲染器。
param.dataPathString / Object是-LCC 数据路径。支持字符串路径(.lcc / .lcc2 / 带 token 的 meta.lcc)或路径描述集合对象。
param.canvasHTMLCanvasElement是-渲染的 canvas 画布,可通过 renderer.domElement 获得。
param.appKeyString否-用于去除水印的 AppKey。
param.useEnvBoolean否-是否显示环境数据。
param.useIndexDBBoolean否true是否开启本地数据缓存。SDK v0.5.0+
param.useLoadingEffectBoolean否false是否开启加载特效。SDK v0.5.1+
param.loadingEffectCenter{ x: number, y: number, z: number }否-加载特效的中心位置。SDK v0.5.1+
param.pointsColorString否'default'点云显示效果:'default'(原色)或 'rainbow'(高程色)。
param.modelMatrixTHREE.Matrix4否-模型矩阵。SDK v0.5.2+
param.maxHostCacheSizenumber否-Host 缓存大小。SDK v0.5.4+
param.maxGpuCacheSizenumber否-GPU 缓存大小。SDK v0.5.4+
param.usePrecisionRaycastBoolean否true(PC)启用高精度射线检测。PC 端默认启用,移动端不支持该参数。SDK v0.6.3+

param(CesiumJS)

参数类型必选默认值描述
param.cameraCesium.Camera是-Cesium 相机对象。
param.sceneCesium.Scene是-Cesium 场景对象。
param.renderLibCesium是-CesiumJS 库引用,例如 import * as Cesium from 'cesium'。
param.dataPathString / Object是-LCC 数据路径。支持字符串路径(.lcc / .lcc2 / 带 token 的 meta.lcc)或路径描述集合对象。
param.canvasHTMLCanvasElement是-渲染的 canvas 画布,可通过 viewer.scene.canvas 获得。
param.modelMatrixCesium.Matrix4否-模型变换矩阵。RTK 真实坐标数据时无需设置。
param.appKeyString否-用于去除水印的 AppKey。
param.useEnvBoolean否-是否显示环境数据。
param.useIndexDBBoolean否true是否开启本地数据缓存。SDK v0.5.0+
param.useLoadingEffectBoolean否false是否开启加载特效。SDK v0.5.1+
param.loadingEffectCenter{ x: number, y: number, z: number }否-加载特效的中心位置。SDK v0.5.1+
param.pointsColorString否'default'点云显示效果:'default'(原色)或 'rainbow'(高程色)。
param.maxHostCacheSizenumber否-Host 缓存大小。SDK v0.5.4+
param.maxGpuCacheSizenumber否-GPU 缓存大小。SDK v0.5.4+
param.usePrecisionRaycastBoolean否true(PC)启用高精度射线检测。PC 端默认启用,移动端不支持该参数。SDK v0.6.3+

回调函数

参数类型必选描述
successFunc(model: any) => void是模型加载完成回调,参数为构建完成的 Mesh。
progressFunc(progress: number) => void是模型加载进度回调,参数为加载百分比(0~1)。
failureFunc() => void是模型加载失败回调。
preProcessFunc(buffer: ArrayBuffer, filename: string) => Promise<{ data: ArrayBuffer; rawData: ArrayBuffer }>否数据预处理回调,用于在渲染前对数据进行预处理。 SDK v0.5.0+

dataPath 格式

dataPath 支持两种方式:

方式一:字符串路径(推荐)

直接传入字符串,指定 LCC 数据路径:

  • 指定完整的 .lcc 文件路径,例如 http://example.com/data/xxxx.lcc。SDK v0.4.1+(推荐)
  • 指定完整的 .lcc2 文件路径,例如 http://example.com/data/xxxx.lcc2。SDK v0.6.0+(推荐)
  • 指定带有 token 等信息的 meta.lcc 文件路径,适用于请求加密数据的场景,例如 https://example.com/data/meta.lcc?token=xxx&other=xxx
  • 指定目录,要求该目录下存在 meta.lcc 文件,例如 https://example.com/data(已废弃)
const lccObject = LCCRender.load({
    // ...other params
    dataPath: 'http://example.com/data/xxxx.lcc',
}, successFunc, progressFunc, failureFunc);

方式二:路径描述集合(SDK v0.5.0+)

采用对象形式自定义所有文件的路径,支持加密路径,适用于 LCC 格式。

文件路径描述格式:

{
    "fileName": {
        "url": "xxxxxxxxxxxx",
        "header": { "field1": "xxx", "field2": "yyy" }  // Optional, added to HTTP request headers
    }
}

示例:

const dataPath = {
    meta: { url: 'http://example.com/xxx/meta.lcc' },
    index: { url: 'http://example.com/xxx/index.bin' },
    data: { url: 'http://example.com/xxx/data.bin' },
    environment: { url: 'http://example.com/xxx/environment.bin' },
    collision: { url: 'http://example.com/xxx/collision.lci' },
    shcoef: { url: 'http://example.com/xxx/shcoef.bin' },
};

const lccObject = LCCRender.load({
    // ...other params
    dataPath: dataPath,
}, successFunc, progressFunc, failureFunc);

返回值

LCCObject — LCC 模型对象,包含射线检测、裁切、渲染控制等接口。

注意事项

  • Three.js 引擎需要在渲染循环中调用 LCCRender.update() 进行更新。
  • param.useSH 参数已废弃,请使用 LCCObject.useShcoef() 接口。
  • param.gpuAcceleration 参数已废弃。
  • dataPath 支持 .lcc 格式(SDK v0.4.1+)和 .lcc2 格式(SDK v0.6.0+)。

相关 API

  • LCCRender::unload()
  • LCCRender::update()
  • LCCRender::dispose()
上一页
LCCRender::dispose
下一页
LCCRender::setCamera