天天看點

全景虛拟漫遊技術實作(three.js vs ThingJS) Javascript 3D開發 前端 物聯網 webgl 三維模組化 3D模型 虛拟 全景

三維模組化無非就是通過專業技能加工成立體圖形,使之圖形成為直覺、易懂,容易判讀的立體圖件。對于開發者來說,選擇一個好的3D開發架構,在全景虛拟漫遊場景上實作3D動效, ThingJS vs three.js開發性能和資源投入将會如何呢?

three.js優勢

Three.js是大多數開發者首次接觸的WebGL 3D庫,Threejs庫的出現解決了底層的渲染細節和複雜的資料結構,可以支援如一個房間級别,或一個樓層級别的渲染,或符合特殊要求的大量同類模型的渲染。

開發性能

對 WebGL進行了封裝,提供了更高層的渲染接口,提供攝影機、視口的控制,提供場景組織方式,能夠加載多種檔案格式,通過建立材質、貼圖并編寫 shader來實作物體效果,建立立方體、球等基本元素,提供燈光、陰影、點雲等等底層功能。

雖然Three.js底層引擎級别的三維圖形庫,有很多開源庫對它進行擴充,但較為松散,适合做輕量級可視化應用,複雜應用則需要基于此庫進行大量封裝才行。尤其場景輸出層面,需要3 3DSMax、Maya、CAD等專業美術人員,通過模組化再做一定的導出工作才能得到需要的模型,團隊協作成本高。

ThingJS優勢

主張3D便捷開發,提供無需3D模組化知識即可上手的場景搭建工具和無維護成本的場景存儲雲空間,模型庫提供上萬個行業模型資源。提供

場景工具元件,包含園區、城市或者圖表搭建,可以讓不具備3D知識的普通使用者搭建3D場景,一個人可以完成物聯網應用的基礎開發。

可支撐數十棟建築的園區級應用,可支援從地球到城市、園區、建築、樓層、房間、最終到物聯網裝置的渲染性能負載,物聯網可視化效果應用優勢明顯,可建立資訊點、線路、管線、區域、熱圖、粒子、動畫等豐富功能,具備靈活的攝影機控制、第一人稱行走、尋路導航和視點線路工具;可擴充的界面、頭頂資訊牌、内嵌視訊監控等豐富的資訊展示方式。

繼續閱讀