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)
      • 常見問題與排查
    • 歷史版本
  • 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

在 3DGS 場景中行走:碰撞支持

LCC4Unreal 支持動態碰撞數據加載,角色可在 3DGS 世界中自由走動和交互。

前置條件

碰撞依賴數據自帶的碰撞文件,不同格式的要求不同:

格式碰撞數據支持情況
.lcc數據目錄下的 collision.lci,舊版本為 collision.bin支持
.lcc2數據目錄下 data/mesh/ 中的 .ply 文件支持
.sog / .spz / .ply無不支持

插件按 collision.lci → collision.bin → data/mesh/*.ply 的順序檢測,三者都不存在時輸出警告並禁用碰撞。加載數據後可用 HaveValidCollisionData() 確認當前數據是否包含可用的碰撞數據。

注:collision.lci 需要 LCC Studio v1.6.1 及以上版本導出,更早版本導出的數據使用 collision.bin。

單文件格式的替代方案

.sog、.spz、.ply 是單文件格式,不攜帶碰撞數據,插件無法為其生成碰撞。需要碰撞時自行在場景中搭建:

  • Blocking Volume:用引擎的阻擋體積拼出地面、牆面等需要阻擋的區域,適合規則形狀,成本最低
  • 近似網格:放置一份與 3DGS 形狀貼合的網格並啟用其碰撞,適合形狀複雜的場景。這份網格可以複用代理網格,把它的碰撞預設改為參與阻擋即可

兩種方式都與 LCC 的碰撞加載機制無關,不受 CollisionLoadMaxDistance 影響,也不會隨相機移動動態換入換出。

加載機制

碰撞數據和渲染數據一樣按空間分塊存儲。插件不會一次性加載全部碰撞,而是只加載相機周圍一定範圍內的塊,並隨相機移動動態換入換出。

相機位置變化
      │
      ▼
計算範圍內應加載的碰撞塊集合
      │
      ▼
與上一次的集合比較 ── 相同 ──▶ 跳過,不做任何處理
      │ 不同
      ▼
加載新增的塊 → 交給物理系統烘焙 → 生成碰撞體

幾個實現上的要點:

  • 加載範圍由 Max Load Collision Distance(m) 控制,超出該距離的區域沒有碰撞
  • 首次加載是同步的,避免角色在碰撞尚未就緒時穿過地面掉落;之後的更新都走異步,不阻塞主線程
  • 有頻率節流,相機連續移動時不會每幀都重建碰撞
  • 可見塊集合未變化時直接跳過,原地小幅移動不會觸發重建
  • 只按主相機計算,SceneCapture 不參與碰撞加載

優點

  • 內存佔用只與加載範圍有關,與數據總量無關,大場景也能支持碰撞
  • 物理系統需要處理的碰撞體數量始終可控,不會因為場景規模增長而拖慢物理計算

代價與規避

問題原因規避方式
開始遊戲瞬間角色穿地掉落碰撞尚未構建完成把 PlayerStart 抬高一段距離,或在碰撞就緒後再啟用角色移動
角色從遠處進入 3DGS 場景範圍時卡頓角色出生在碰撞加載範圍外,首次進入時觸發同步加載讓角色出生點位於碰撞加載範圍內,或一次性加載全部碰撞
遠處沒有碰撞,射線檢測打不中超出加載範圍的區域不生成碰撞體調大 Max Load Collision Distance(m),或改用不依賴碰撞的判斷方式
傳送或快速移動後短時間內無碰撞新區域的碰撞塊還在加載一次性加載全部碰撞
移動中出現卡頓,Update Collision 耗時高碰撞塊頻繁換入換出並重新烘焙縮小加載範圍,或確認是否真的需要碰撞
配合導航時導航網格反覆重建碰撞變化觸發 NavMesh 更新調大加載範圍讓目標區域一次性加載完,並使用 Static 烘焙,詳見尋路系統支持

一次性加載全部碰撞

上述代價大多來自運行期的動態換入換出。如果場景規模有限、內存有餘量,可以把 Max Load Collision Distance(m) 調大到足以覆蓋整個場景,讓碰撞在加載數據時一次性全部建好。

這樣運行期不再有碰撞塊的換入換出,前面表格裏的穿地掉落、傳送無碰撞、移動卡頓、導航反覆重建都不會出現,配合尋路系統時尤其推薦。

代價是啟動時的加載時間變長、內存佔用固定為全場景碰撞的大小。判斷是否可行:查看 stat xgrids 中的 Collision Data Usage,確認全量加載後的內存佔用在可接受範圍內。

開啟

LCCComponent->SetLCCCollisionEnable(true);

或在 Details 面板中勾選 bEnableCollision。

在 Details 面板啟用 LCC 碰撞

在 Details 面板中啟用 LCC 碰撞

LCC 動態碰撞效果演示

角色在 LCC 場景中的動態碰撞效果

驗證

通過視圖模式設置,選擇玩家碰撞或可視性碰撞可以觀察到碰撞是否已開啟

在視圖模式中顯示碰撞體

使用玩家碰撞或可視性碰撞模式驗證碰撞體

相關屬性

屬性說明
bEnableCollision啟用碰撞
CollisionLoadMaxDistance碰撞數據最大加載距離(默認 300 米)
碰撞啟用與最大加載距離屬性

配置碰撞啟用狀態與最大加載距離

注意事項

  • 開啟碰撞後可使用 UE 引擎自身的 LineTrace 進行基於碰撞體的射線檢測,檢測範圍同樣受加載範圍限制
  • 碰撞數據佔用的內存可在 stat xgrids 的 Collision Data Usage 中查看,更新耗時見 Update Collision,參數含義見性能優化參數說明
上一頁
加載動畫
下一頁
尋路系統支持