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

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