Three.js可視化企業(yè)實(shí)戰(zhàn)WEBGL教程(23年7月升級(jí)版45章)
Three.js可視化企業(yè)實(shí)戰(zhàn)WEBGL教程(23年7月升級(jí)版45章)
學(xué)習(xí)地址1:https://pan.baidu.com/s/1FdfUHi3V9Hz6_nIfucP1lw 提取碼: jer8
學(xué)習(xí)地址2:https://share.weiyun.com/tglm6bSd 密碼:8gqqpb
Three.js可視化企業(yè)實(shí)戰(zhàn)WEBGL教程分享下載,2023年7月升級(jí)版45章,附源碼+課件+素材下載!
Three.js 是一款運(yùn)行在瀏覽器中的 3D 引擎,你可以用它創(chuàng)建各種三維場(chǎng)景,包括了攝影機(jī)、光影、材質(zhì)等各種對(duì)象。你可以在它的主頁(yè)上看到許多精采的演示。不過(guò),這款引擎目前還處在比較不成熟的開(kāi)發(fā)階段,其不夠豐富的 API 以及匱乏的文檔增加了初學(xué)者的學(xué)習(xí)難度(尤其是文檔的匱乏),《Three.js可視化企業(yè)實(shí)戰(zhàn)WEBGL教程》無(wú)疑彌補(bǔ)了這個(gè)空缺,課程結(jié)合大量實(shí)踐案例,讓您對(duì)Three.js有更深入的了解!
掌握一些概念性知識(shí)
1、前端基本功 – HTML+CSS+JS ,至少會(huì)寫(xiě)需要引入入外部JS的單頁(yè)HTML,本文即使用這種模式編寫(xiě)和實(shí)現(xiàn)
2、Three.js 概念 :Three.js是基于原生WebGL封裝運(yùn)行的三維引擎,在所有WebGL引擎中,Three.js是國(guó)內(nèi)文資料最多、使用最廣泛的三維引擎
3、基于Three.js寫(xiě)頁(yè)面的三要素是:場(chǎng)景(Scene)、相機(jī)(Camera)、渲染器(Renderer)
為什么選擇three.js
官網(wǎng)對(duì) 「Threejs」 的介紹非常簡(jiǎn)單:“Javascript 3D library”?!竜penGL」 是一個(gè)跨平臺(tái)3D/2D的繪圖標(biāo)準(zhǔn),「WebGL」 則是「openGL」 在瀏覽器上的一個(gè)實(shí)現(xiàn)。web前端開(kāi)發(fā)人員可以直接用「WebGL」 接口進(jìn)行編程,但 「WebGL」 只是非?;A(chǔ)的繪圖API,需要編程人員有很多的數(shù)學(xué)知識(shí)、繪圖知識(shí)才能完成3D編程任務(wù),而且代碼量巨大。「Threejs」 對(duì) 「WebGL」 進(jìn)行了封裝,讓前端開(kāi)發(fā)人員在不需要掌握很多數(shù)學(xué)知識(shí)和繪圖知識(shí)的情況下,也能夠輕松進(jìn)行web 3D開(kāi)發(fā),降低了門(mén)檻,同時(shí)大大提升了效率??偨Y(jié)來(lái)一句話(huà): 就是你不懂計(jì)算機(jī)圖形學(xué),只要理解了three.js的一些基本概念你可以。
文章的開(kāi)頭我們就已經(jīng)說(shuō)過(guò)了,threejs三大媽?zhuān)簣?chǎng)景、相機(jī)、渲染器。
其中的場(chǎng)景,暫且可以理解為最終我們看到的這個(gè)畫(huà)布。我們首先需要new一個(gè)scene對(duì)象。然后分別new一個(gè)形狀和材料實(shí)例,通過(guò)scene的add方法加入到畫(huà)布中去。這個(gè)過(guò)程的實(shí)現(xiàn)代碼就是下面這幾行。邏輯很清晰:我們往場(chǎng)景中塞入了一個(gè)球體,然后給這個(gè)球體做了點(diǎn)裝飾,就是用的“材料”。我們可以設(shè)置這個(gè)“材料”的顏色、金屬?gòu)?qiáng)度等一系列的圖像學(xué)的屬性。
Build目錄:包含兩個(gè)文件,three.js 和three.min.js 。這是three.js最終被引用的文件。一個(gè)已經(jīng)壓縮,一個(gè)沒(méi)有壓縮的js文件。
Docs目錄:這里是three.js的幫助文檔,里面是各個(gè)函數(shù)的api,可惜并沒(méi)有詳細(xì)的解釋。試圖用這些文檔來(lái)學(xué)會(huì)three.js是不可能的。
Editor目錄:一個(gè)類(lèi)似3D-max的簡(jiǎn)單編輯程序,它能創(chuàng)建一些三維物體。
Examples目錄:一些很有趣的例子demo,可惜沒(méi)有文檔介紹。對(duì)圖像學(xué)理解不深入的同學(xué),學(xué)習(xí)成本非常高。
Src目錄:源代碼目錄,里面是所有源代碼。
Test目錄:一些測(cè)試代碼,基本沒(méi)用。
Utils目錄:存放一些腳本,python文件的工具目錄。例如將3D-Max格式的模型轉(zhuǎn)換為three.js特有的json模型。
.gitignore文件:git工具的過(guò)濾規(guī)則文件,沒(méi)有用。
CONTRIBUTING.md文件:一個(gè)怎么報(bào)bug,怎么獲得幫助的說(shuō)明文檔。
LICENSE文件:版權(quán)信息。
README.md文件:介紹three.js的一個(gè)文件,里面還包含了各個(gè)版本的更新內(nèi)容列表。
場(chǎng)景——相機(jī)——渲染器
從實(shí)際生活中拍照角度或是使用三維渲染軟件角度理解本節(jié)課的案例代碼,立方體網(wǎng)格模型和光照組成了一個(gè)虛擬的三維場(chǎng)景,相機(jī)對(duì)象就像你生活中使用的相機(jī)一樣可以拍照,只不過(guò)一個(gè)是拍攝真實(shí)的景物,一個(gè)是拍攝虛擬的景物,拍攝一個(gè)物體的時(shí)候相機(jī)的位置和角度需要設(shè)置,虛擬的相機(jī)還需要設(shè)置投影方式,當(dāng)你創(chuàng)建好一個(gè)三維場(chǎng)景,相機(jī)也設(shè)置好,就差一個(gè)動(dòng)作“咔”,通過(guò)渲染器就可以執(zhí)行拍照動(dòng)作。