地理空間數據為工業元宇宙中的應用提供了豐富的真實世界環境和上下文信息、空間關系和實時監控功能。
近年來,三維地理空間數據激增。技術進步推動了這一快速增長,如高分辨率航空和衛星圖像、自動駕駛汽車和機器上的激光雷達掃描儀、 3D 重建算法和人工智能的改進,以及掃描技術向手持設備和智能手機的普及,使日常人能夠捕捉自己的環境。
為了處理大量的異構 3D 地理空間數據,并將其分散到跨行業的地理空間應用程序和運行時引擎,Cesium 已創建了 3D Tiles,這是一個用于高效流式傳輸和呈現海量異構數據集的開放標準。3D Tiles 是一種可流化、優化的格式,旨在支持最苛刻的分析和大規模模擬。
Cesium for Omniverse 是 Cesium 的開源 擴展,適用于 NVIDIA Omniverse。它以驚人的速度和質量提供了全球范圍內的 3D 瓷磚和真實世界 數字孿生。該擴展使用戶能夠從任何 3D 地理空間內容來源快速、高精度地創建適合真實世界的模型,使用的是 Universal Scene Description (OpenUSD)。
有了 Cesium for Omniverse ,您可以通過平鋪管道來啟動 3D 地理空間應用程序開發,以流式傳輸您自己的內容。您還可以通過結合流行的三維和攝影測量應用程序(如 Autodesk 、 Bentley Systems 和 Matterport )中的真實世界上下文來增強三維內容。
例如,您可以將 Bentley 的鐵礦石開采設施 iTwin 模型與 Cesium 集成,以便項目規劃者在其精確的地理空間環境中可視化和分析該設施。有了 Cesium 作為 Omniverse ,項目規劃者可以使用該設施的數字孿生,與當地公用事業公司、工程師和居民共享計劃和潛在影響,并考慮天氣和照明等特定位置的細節。

該擴展最有趣的功能之一是一個精確、全尺寸的 WGS84 虛擬地球儀,具有實時光線跟蹤和人工智能分析功能,可用于 3D 地理空間工作流程。開發人員可以創建與地球儀交互的應用程序,以共享動態地理空間數據。
開放式 3D 瓷磚的新機遇 USD
正如 Cesium 通過與 3D Tiles 的開放性和互操作性構建 3D 地理空間生態系統一樣,NVIDIA 正在實現一個基于 OpenUSD 的生態系統。Open USD 最初由皮克斯開發,是一個開放和可擴展的生態系統,用于在 3D 世界中描述、組成、模擬和協作。
通過將 3D Tiles 連接到 Open USD 生態系統, Cesium 為 3D Tiles 的定制和集成開辟了新的可能性,并將其集成到由全球行業的開發人員構建的元宇宙應用程序中。例如,流行的 AECO 工具可以利用 Open USD 添加 Cesium 流式傳輸的 3D 地理空間上下文,以實現強大的工作流。
為了進一步與 USD 進行互操作, Cesium 的開發人員在 USD 中創建了一個自定義模式,以支持他們的全尺寸虛擬地球儀(圖 2 )。
Cesium 的虛擬地球儀是基于 1984 年世界大地測量系統( WGS84 )坐標系的地球表面的數字表示。它涵蓋了地球的地形、海洋和大氣層,使用戶能夠以高精度和逼真的方式探索和可視化地理空間數據和模型。
創建全尺寸虛擬地球儀

Cesium 的 3D 工程和生態系統主管 Shehzan Mohammed 表示:“利用 USD 與 3D Tiles 和 glTF 的互操作性,我們創建了額外的工作流程,例如將 Omniverse 、 Trimble Sketchup 、 Autodesk Revit 、 Autodesk 3ds Max 和 Esri ArcGIS CityEngine 的內容從 Bentley 的 LumenRT 導入到 NVIDIA Omniverse 中。”。
在 Omniverse 中,地球儀的所有信息,如瓦片集、圖像層和地理參考數據,都存儲在 USD 中。 USD 是一個高度可擴展且功能強大的虛擬世界交換。 USD 的一個關鍵特性是自定義模式,您可以使用它來擴展復雜和復雜的虛擬世界用例的數據。
Cesium 的團隊開發了一個自定義模式,為虛擬地球儀的關鍵元素定義了特定的類。這個模式的 C++ 層使用了 OpenUSD TfNotice 系統,以確保在必要時及時更新瓷磚集。Cesium Native 用于高效的瓷磚流。下層的 Fabric API 來自 Omniverse 的應用程序,用于平鋪渲染,確保了最佳性能和地球的高質量視覺表示。
其結果是在 USD 框架內創建并無縫集成了一個強大而精確的 WGS84 虛擬地球儀。
開發擴展
為了開發 Omniverse 的擴展,Cesium 的開發人員利用 Omniverse Kit,這是一個幫助開發人員開始構建工具的低代碼工具包。Omniverse Kit 在 Omniverse 中提供了示例應用程序、模板和流行組件,這些組件是功能強大的應用程序的構建塊。
Omniverse 套件同時支持 Python 和 C++。擴展的代碼主要是用 Python 編寫的,而 tile 流代碼是用 C++ 實現的。Python 代碼和 C++ 代碼之間的通信使用 PyBind11 綁定,并盡可能使用 Carbonite 插件。

在項目的最初階段,團隊嚴重依賴kit-extension-template-cpp
作為參考。在熟悉了該平臺后,他們開始利用 Omniverse Kit 的高度模塊化設計,并開發了自己的 Kit 應用程序來促進開發過程。該應用程序是 Cesium 團隊的一個通用開發環境,他們可以在這里建立自己的默認設置,并輕松啟用常用的擴展。
Cesium 使用了許多現有的 Omniverse 套件擴展,如omni.example.ui
和omni.kit.debug.vscode
,并創建了自己的以簡化任務執行。例如,他們的擴展 Cesium Power Tools 有更先進的開發工具,如地理空間坐標轉換和將 Sun Study 與場景的地理參考信息同步。隨著 Omniverse 的擴展,他們計劃在未來開發更多這樣的擴展。
高性能流媒體
對于 Cesium 的街道級到全球范圍的工作負載來說,維護 3D Tiles 和全球內容的高性能流媒體可能是一項挑戰。為了解決這個問題,他們的團隊依靠 Omniverse Fabric API,實現了對場景數據的高性能創建、修改和訪問。Fabric 在實現 Cesium 的最佳性能水平、提高負載速度、運行時性能、模擬性能和 GPU 上數據的可用性方面發揮著至關重要的作用。

Cesium 以 Fabric 為基礎,結合了一種對象池機制,可以在瓷磚卸載時回收幾何圖形和材料,優化資源利用率。平鋪流通過 HTTP 或本地文件系統進行,從而提供高效的數據傳輸。
開始使用 Cesium 為 Omniverse
Cesium for Omniverse 是在 Apache 2.0 許可證下的免費開源軟件,并與 Cesium ion 集成。這提供了對基于云的全球高分辨率 3D 內容的即時訪問,包括攝影測量、地形、圖像和建筑。此外,業界領先的 3D 平鋪管道和全球策劃的數據集作為 Cesium 離子可選商業訂閱的一部分,使您能夠將內容轉換為優化的、空間索引的 3D 平鋪,準備流式傳輸到 Omniverse。了解更多關于 Cesium for Omniverse 的信息。
探索 Cesium 在 Omniverse 中的學習內容和樣本項目。如果你想開始為 Omniverse 構建自己的擴展,如 Cesium, 請訪問 Omniverse 開發者資源。
參加 SIGGRAPH 嗎?請將此會話添加到您的日程中:Digital Twins Go Geospatial With OpenUSD, 3D Tiles, and Cesium,時間是 8 月 9 日上午 10 : 30。
下載標準許可證,開始使用 NVIDIA Omniverse自由的,或學習如何Omniverse 企業可以連接您的團隊。如果你是一名開發人員,開始使用 Omniverse為客戶構建擴展和應用程序的資源。通過訂閱新聞稿,并在上遵循 NVIDIA OmniverseInstagram,中等的和啁啾。有關資源,請查看我們的論壇,Discord 服務器,痙攣和YouTube通道。
?