這裏有壹張3D家族圖譜,three.js是基於WebGL的3D圖形引擎庫,和Unity 3D是類似的渲染器。
Three.js解決了WebGL開發復雜的難題,它封裝了場景、相機、幾何、3D模型加載器、燈光、材質、著色器、動畫、粒子、數學工具等概念,開發流程如下:
這裏涉及到壹個規律,越底層的技術,如OpenGL、DirectX、Vulkan,用起來就越困難,基本上也很少有開發案例,因為這個並不實用。Javascript封裝庫更簡單,以便降低開發門檻,並不存在必須要把所有底層技術學會,才懂用three.js開發的說法。學習新技術要註意:
學習的目的
是技術探索?還是3D項目開發?技術理論知識的學習需要很長時間,而且很枯燥,最好是完成壹個3D項目作品,從手動實操中解決問題,連點成面。壹個完整的軟件生態至關重要,好的軟件往往是成千上萬個項目淬煉的成果,three.js都有很多優秀的開發項目讓妳汲取營養。
先做出壹個作品
作品是可以為簡歷加分的,同時也能夠驗證妳的學習能力,現在的軟件生態不缺乏學習資源和技術資料,項目案例是非常好的參考素材。出作品的過程也是在解決技術問題,初學者不要怕麻煩!
選擇有前景的應用市場
three.js是壹個開源技術,重要還是看應用到哪個技術模塊,是否產生商業價值,個人的職業前景也會越來越好。推薦物聯網3D可視化,面向城市可視化大屏客戶端應用開發,常用於安全消防、城市交通領域,更多案例ThingjS客戶都有上傳到官網。
基於three.js的優秀學習資源,在學習three.js之前先問自己這三個問題,相信會事半功倍。
城市可視化大屏項目示例,3D演示
請點擊輸入圖片描述