Three.js可視化企業(yè)實(shí)戰(zhàn)WEBGL課(23年7月升級版45章)
Three.js可視化企業(yè)實(shí)戰(zhàn)WEBGL課(23年7月升級版45章)
資料1:https://pan.baidu.com/s/1VptUv0rC3noF3xJFRZrKIg 提取碼:en4s?
資料2:https://pan.baidu.com/s/1PUf9G4Atg_d1Zm79QVgVRQ 提取碼: vn6h?
分享一套WEBGL視頻教程——《Three.js可視化企業(yè)實(shí)戰(zhàn)WEBGL視頻教程》,2023年7月升級版45章!
什么是WebGL。WebGL是在瀏覽器中實(shí)現(xiàn)三維效果的一套規(guī)范。使用WebGL原生的API來寫3D程序是一件非常痛苦的事情,幸好,有很多同行花業(yè)余時(shí)間寫了一些WebGL開源框架,其中three.js就是非常優(yōu)秀的一個(gè)。
什么是threejs,很簡單,你將它理解成three + js就可以了。three表示3D的意思,js表示javascript的意思。那么合起來,three.js就是使用javascript 來寫3D程序的意思。
three.js官方定義的三大要素:場景(scene)、相機(jī)(camera)、渲染器(render)。我覺得還得加上一個(gè)物體(內(nèi)容)。
場景主要包含Object, 和燈光。Object有很多類別,主要是點(diǎn),線,網(wǎng)格Mesh。然后Mesh有是由Geometry和Material材質(zhì)組成的。Geometry是純網(wǎng)格頂點(diǎn)信息,有Geometry和BufferGeometry兩類,這兩類下邊又有很多子類。Material是材質(zhì)信息,下邊又有一些子類,比如基礎(chǔ)材質(zhì),PBR材質(zhì),和可配置shader的材質(zhì)。然后可以在場景里添加燈光。燈光主要有點(diǎn)光源,方向光,聚光燈,面光源。其中面光源用到了比較新的算法,但是目前實(shí)現(xiàn)的效果應(yīng)該還有些問題。
相機(jī)主要是兩大類,透視相機(jī)和正交相機(jī)。
渲染器主要是基于webgl的WebGLRenderer和非webgl的SVGRenderer。
要在屏幕上展示3D圖形,思路大體上都是這樣的:
1、構(gòu)建一個(gè)三維空間
Three中稱之為場景(Scene)
2、選擇一個(gè)觀察點(diǎn),并確定觀察方向/角度等
Three中稱之為相機(jī)(Camera)
3、在場景中添加供觀察的物體
Three中的物體有很多種,包括Mesh,Line,Points等,它們都繼承自O(shè)bject3D類
4、將觀察到的場景渲染到屏幕上的指定區(qū)域
Three中使用Renderer完成這一工作
Three.js應(yīng)用場景
利用Three.JS可以制作出很多酷炫的3D動(dòng)畫,并且Three.js還可以通過鼠標(biāo)、鍵盤、拖拽等事件形成交互,在頁面上增加一些3D動(dòng)畫和3D交互可以產(chǎn)生更好的用戶體驗(yàn)。
通過Three.JS可以實(shí)現(xiàn)全景視圖,這些全景視圖應(yīng)用在房產(chǎn)、家裝行業(yè)能夠帶來更直觀的視覺體驗(yàn)。在電商行業(yè)利用Three.JS可以實(shí)現(xiàn)產(chǎn)品的3D效果,這樣用戶就可以360度全方位地觀察商品了,給用戶帶來更好的購物體驗(yàn)。另外,使用Three.JS還可以制作類似微信跳一跳那樣的小游戲。隨著技術(shù)的發(fā)展、基礎(chǔ)網(wǎng)絡(luò)的建設(shè),web3D技術(shù)還能得到更廣泛的應(yīng)用。