當前位置:編程學習大全網 - 編程語言 - 【攻城略地】vue3+vite+ts加載3dTiles。

【攻城略地】vue3+vite+ts加載3dTiles。

本文適合從未接觸過3d開發的新手。尋找解決方案的部分更加詳細。文章底部有相關包的配置文件,可以跳過這部分直接使用。

Vite是壹個前端構建工具,我們使用vite來構建項目基礎設施。

開始{ #入門} | Vite中文網站

如果需要安裝其他模板,可以看文檔。

由於我第壹次接手3d開發,不知道哪些解決方案比較合適,所以在初期遇到了很多問題。以下是尋找解決方案的壹般過程。

開發web3d時,首先想到的是使用Three.js,參考文章《threejs加載3dtiles數據》時,數據加載成功,但模型界面無法顯示。估計這篇文章下的這個評論也出現了同樣的問題。

對於有3d開發0經驗的我來說,只能搜索相關文檔,嘗試解決。花了好幾個小時,還是解不出來,但我也知道銫這種3d框架更適合加載3dTiles。開發項目的時候,不能在有限的時間裏把自己吊死在壹棵樹上,及時改變方向可以節省更多的時間。最後對比兩個文件,果斷放棄三個。

相關信息:

Threejs加載3dtiles數據。

Threejs加載3dtiles數據_Always博客-CSDN博客_threejs傾斜攝影

三裝載機-三維瓷磚

GitHub -美國國家航空航天局-AMMOS/3DTilesRendererJS:使用three.js在Javascript中呈現3D圖塊

3DTilesRendererJS

GitHub-nytimes/three-loader-3D Tiles:這是壹個Three.js加載器模塊,用於處理由銫創建的OGC 3D Tiles。它目前支持兩種主要的格式,批量3D模型(b3dm) -基於glTF點雲。

銫自然支持3dTiles格式,加載3dTiles很簡單,但是需要額外的配置。

網上有很多vue使用銫的配置教程,但是大部分都是使用webpack配置的,而且大部分都是vue2版本,各種資料內容參差不齊,造成這個項目額外的時間成本,對新手非常不友好。

試著配置了壹下,發現總是無效,也看不懂這些配置的意義。最後我放棄了直接用銫,繼續尋找更方便的vue+銫的方案。

銫. js中文文檔

照相機-銫文件

經過壹番尋找,最終選擇了vue-銫,支持vue3和typescript。我稱之為3d版element-ui,開箱非常方便,免去了各種麻煩耗時的配置過程,對新手非常友好。

文檔:

VueCesium-Vue 2 . x & amp;CesiumJS的Vue 3.x組件。

安裝:

使用:

安裝完成後,可以選擇完全導入,也可以選擇按需導入,因為我只使用了其中的幾個組件,所以我選擇了按需導入,使用這個組件VcPrimitiveTileset可以導入3dTiles文件。

其他具體業務的實現見文檔。如果妳用過element-ui,妳肯定會用vue-銫。

使用過程中發現的問題:

1.文檔VcOverlayHtml組件描述錯誤。

正確引入樣式文件:導入' vue-cecils/dist/index . CSS '

如果打開文檔時顯示正確,則意味著文檔已被更新。

2 .構建包來報告錯誤

在打包的時候,vue-銫的源代碼中會有ts錯誤,幾乎都是銫沒有發現的錯誤。妳需要忽略tsconfig.json中node_modules的檢查,妳可以配置只忽略這包vue-銫,但是我都忽略了。

註意:如果您的項目根目錄沒有配置tsconfig.json,您需要首先添加這個文件。請參考:TSConfig。JSON TypeScript中文網TypeScript-JavaScript的超集。

在引用vue-銫組件的文件中,ts還會發現Cesiu沒有發現的錯誤。您可以配置ts僅忽略此文件。

如果妳在使用和我相同版本的vue-銫時也得到上述錯誤,不要慌。我們看到全局配置組件VcConfigProvider使用CDN為vue-銫導入壹個版本的銫,而不是模塊化導入。

由於我沒有看到vue-銫的源代碼實現,所以我猜是這個原因。因為沒有影響任何功能的實現,所以我直接用// @ts-nocheck忽略了整個文件的ts檢查。

項目使用的每個包及其版本號:

  • 上一篇:西北大學有幾個校區?UCB和史丹福有什麽不同?
  • 下一篇:經典的k線買入形態介紹
  • copyright 2024編程學習大全網