three.js的自學(xué)基礎(chǔ)

three.js的自學(xué)基礎(chǔ)

ID:34726485

大?。?09.53 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-03-10

three.js的自學(xué)基礎(chǔ)_第1頁(yè)
three.js的自學(xué)基礎(chǔ)_第2頁(yè)
three.js的自學(xué)基礎(chǔ)_第3頁(yè)
three.js的自學(xué)基礎(chǔ)_第4頁(yè)
three.js的自學(xué)基礎(chǔ)_第5頁(yè)
資源描述:

《three.js的自學(xué)基礎(chǔ)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、推薦網(wǎng)站:WebGL中文網(wǎng)http://www.hewebgl.com/里面有教程,初級(jí)教程免費(fèi),其余要收費(fèi)three.js官方網(wǎng)站:www.threejs.org/three.js-master包里面有很多很有趣的例子,在three.js-masterexamples下,你可以一個(gè)一個(gè)點(diǎn)開(kāi)看有沒(méi)有需要的WebGL中文網(wǎng)和Three.js入門(mén)指南一起看就可以了,入門(mén)指南有一些例子不能出來(lái),但是講得也不錯(cuò),代碼里面的結(jié)構(gòu)根據(jù)webGL中文網(wǎng)例子來(lái)編寫(xiě)的一、基本需要初始化:1.渲染器(renderer)——渲染物體的,在web瀏覽器中必須

2、有一個(gè)平臺(tái)顯示3d效果2.照相機(jī)(camera)——視角,展現(xiàn)在我們面前的3.場(chǎng)景(scene)4.燈光(light)5.物體(object)渲染部分:1.renderer.render(scene,camera);2.requestAnimationFrame(animate);81.初始化渲染器:three.js的渲染器主要有WebGLRenderer和CanvasRenderer,渲染的效果不同有細(xì)微差異,我們使用的是WebGLRenderer,當(dāng)你使用渲染器時(shí),一般在html頁(yè)面上加入

標(biāo)簽——>這里的div標(biāo)簽是

3、vid="canvasframe">

代碼:renderer=newTHREE.WebGLRenderer({antialias:true});//開(kāi)啟WebGL抗鋸齒width=document.getElementById('canvasframe').clientWidth;height=document.getElementById('canvasframe').clientHeight;renderer.setSize(width,height);document.getElementById('canvasfram

4、e').appendChild(renderer.domElement);你也可以不需要div標(biāo)簽創(chuàng)建渲染器代碼:varrenderer=newTHREE.WebGLRenderer();renderer.setSize(window.innerWidth,window.innerHeight);document.body.appendChild(renderer.domElement);2.照相機(jī)——這塊在WebGL中文網(wǎng)講解得比較詳細(xì)three.js提供兩類(lèi)照相機(jī),一類(lèi)是OrthographicCamera(正交相機(jī)),一類(lèi)是Per

5、spectiveCamera(透視相機(jī))正交就是高中老師畫(huà)正方形那種,沒(méi)有近大遠(yuǎn)小,透視相機(jī)有。我們使用的是透視相機(jī)代碼:camera=newTHREE.PerspectiveCamera(60,width/height,1,10000);camera.position.set(lengthX,lengthY,100);camera.up=newTHREE.Vector3(0,0,1);THREE.PerspectiveCamera(fov,aspect,near,far)fov:視角度數(shù),可以理解為眼睛睜開(kāi)大小,度數(shù)越大,你看到的物體

6、越多,物體越小aspect:是照相機(jī)水平方向和豎直方向長(zhǎng)度的比值,一般等于width/heightnear和far:是相機(jī)最近和最遠(yuǎn)的距離,均為正值,far>>nearcamera.position.set(x,y,z);照相機(jī)的位置camera.up=newTHREE.Vector3(0,0,1);cmmera.up哪個(gè)軸是向上的,three.js默認(rèn)是右手坐標(biāo)軸,即y軸向上,這里我們讓z軸向上camera.position=newTHREE.Vector3(0,0,1)和camera.up.set(0,0,1)一樣的效果。3.場(chǎng)景一

7、般只需要scene=newTHREE.Scen();新建場(chǎng)景就可以了源代碼中加入了scene.fog=newTHREE.FogExp2(0xcccccc,0.002);使場(chǎng)景產(chǎn)生霧效果FogExp2(hex,density)hex,霧的顏色如果設(shè)置為黑色,遠(yuǎn)處的物體將呈現(xiàn)黑色density:定義霧增長(zhǎng)速度如何密集。默認(rèn)為0.00025。84.燈光有幾種燈光,常用的有AmbintLight(環(huán)境光),directionalLight(平行光),PointLigth(點(diǎn)光源),spotLight(聚光燈),其他的你可以在官方文檔里查找使用,

8、初始化都比較簡(jiǎn)單,以程序里的平行光為例light=newTHREE.DirectionalLight(0xffffff);light.position.set(1,1,1);scene.add(light)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。