摘要:入門(mén)這部分內(nèi)容的目標(biāo)是簡(jiǎn)單地介紹,我們首先講如何用來(lái)實(shí)現(xiàn)一個(gè)旋轉(zhuǎn)的立方體。具體的實(shí)例將會(huì)給出,以防你卡住或者需要幫助。透視投影照相機(jī)的構(gòu)造函數(shù)是,其中是可視角度為,通常是容器的寬高比是近斷距離,是遠(yuǎn)端距離。
入門(mén)
這部分內(nèi)容的目標(biāo)是簡(jiǎn)單地介紹three.js,我們首先講如何用three.js來(lái)實(shí)現(xiàn)一個(gè)旋轉(zhuǎn)的立方體。具體的實(shí)例將會(huì)給出,以防你卡住或者需要幫助。
在html文件中引入three.js文件在使用three.js之前,首先需要在你的html文件中將它包含進(jìn)來(lái),如下面代碼段所示:
My first three.js app
然后在空的
正交投影照相機(jī)的構(gòu)造函數(shù)為OrthographicCamera(left, right, top, bottom, near, far)包含了六個(gè)參數(shù),left就是整個(gè)投影線區(qū)域的左側(cè)面,right就是投影線區(qū)域的右側(cè)面,top就是投影線區(qū)域的上側(cè)面,而bottom就是投影線區(qū)域的下側(cè)面。 near是到距離相機(jī)較近的那一面的距離,far是離距離相機(jī)較遠(yuǎn)的那一面的距離,這六個(gè)投影面圍成的區(qū)域就是相機(jī)投影的可見(jiàn)區(qū)域。在三維空間中,只有這個(gè)區(qū)域中的物體才能被照相機(jī)所觀測(cè)到。
透視投影照相機(jī)(PerspectiveCamera)透視投影照相機(jī)中投影是線是以照相機(jī)為匯聚點(diǎn)發(fā)散的,投影線和投影面不垂直,物體投影之后的比例會(huì)發(fā)生變化,我們會(huì)觀察到物體的透視效果,如下圖所示。
透視投影照相機(jī)的構(gòu)造函數(shù)是PerspectiveCamera(fov, aspect, near, far) ,其中fov是可視角度;aspect為width/height,通常是容器(canvas)的寬高比;near是近斷距離,far是遠(yuǎn)端距離。只有在距離照相機(jī)大于near的距離小于far的距離之內(nèi)才可以被照相機(jī)觀察到。
關(guān)于更多照相機(jī)的知識(shí)我們會(huì)在之后的文章中進(jìn)行介紹。
渲染器定義:渲染器的功能是將我們創(chuàng)建的場(chǎng)景和照相機(jī)所觀察到的三維物體在二維平面上的投影進(jìn)行渲染展現(xiàn)到瀏覽器中。
創(chuàng)建:var renderer = new THREE.WebGLRenderer();
渲染:renderer.render(scene, camera) 在進(jìn)行渲染的時(shí)候需要將之前創(chuàng)建的場(chǎng)景和照相機(jī)都傳入渲染函數(shù)中。
關(guān)于更多渲染器的知識(shí)我們將會(huì)在之后的文章中進(jìn)行介紹。
栗子有了場(chǎng)景、照相機(jī)和渲染器三個(gè)要素之后,我們就可以在瀏覽器中展現(xiàn)出復(fù)雜的三維物體了,首先來(lái)看一個(gè)簡(jiǎn)單的栗子~
My first three.js app //創(chuàng)建一個(gè)canvas標(biāo)簽用來(lái)作為展現(xiàn)三維圖形的容器 //引入three.js文件
快打開(kāi)瀏覽器看看,是不是看到那個(gè)旋轉(zhuǎn)的正方體了~
項(xiàng)目github地址:旋轉(zhuǎn)的正方體
參考文獻(xiàn):
1.creating a scene
2.three.js 照相機(jī)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/81777.html
摘要:在文末,我會(huì)附上一個(gè)可加載的模型方便學(xué)習(xí)中文藝術(shù)字渲染用原生可以很容易地繪制文字,但是原生提供的文字效果美化功能十分有限。 showImg(https://segmentfault.com/img/bVWYnb?w=900&h=385); WebGL 可以說(shuō)是 HTML5 技術(shù)生態(tài)鏈中最為令人振奮的標(biāo)準(zhǔn)之一,它把 Web 帶入了 3D 的時(shí)代。 初識(shí) WebGL 先通過(guò)幾個(gè)使用 Web...
摘要:學(xué)習(xí)學(xué)習(xí)筆記介紹是一種繪圖協(xié)議,它把和結(jié)合在一起,通過(guò)增加的一個(gè)綁定,可以為提供硬件加速渲染。環(huán)境搭建為了以后的學(xué)習(xí)方便,首先是搭建一個(gè)萬(wàn)能框架,所有的開(kāi)發(fā)都可以在此框架上進(jìn)行。 WebGL學(xué)習(xí)----Three.js學(xué)習(xí)筆記(1) webgl介紹 WebGL是一種3D繪圖協(xié)議,它把JavaScript和OpenGL ES 2.0結(jié)合在一起,通過(guò)增加OpenGL ES 2.0的一個(gè)Ja...
摘要:構(gòu)造函數(shù)分別是長(zhǎng)寬高是對(duì)應(yīng)長(zhǎng)寬高的分段,在使用線模式進(jìn)行渲染的時(shí)候,可以看到效果如下。長(zhǎng)寬高分別被截為段,段,段。球體構(gòu)造函數(shù)球體半徑水平方向和垂直方向上分段數(shù)。最小值為,默認(rèn)值為。構(gòu)造函數(shù)形狀數(shù)組可選的參數(shù)對(duì)象,可配置參數(shù)。 Geometry api Geometry var geometry = new THREE.Geometry(); 立方體(BoxGeometry) 老版本...
摘要:而針對(duì)投影方式的不同,照相機(jī)又分為正交投影照相機(jī)與透視投影照相機(jī)。我們需要為自己的程序選擇合適的照相機(jī)。相機(jī)視椎體右面。 相機(jī)API 照相機(jī)就是這樣一個(gè)抽象,它定義了三維空間到二維屏幕的投影方式,用照相機(jī)這樣一個(gè)類(lèi)比,可以使我們直觀地理解這一投影方式。而針對(duì)投影方式的不同,照相機(jī)又分為正交投影照相機(jī)與透視投影照相機(jī)。我們需要為自己的程序選擇合適的照相機(jī)。 正交投影照相機(jī) showIm...
閱讀 3705·2021-11-25 09:43
閱讀 2605·2021-11-18 13:11
閱讀 2212·2019-08-30 15:55
閱讀 3277·2019-08-26 11:58
閱讀 2829·2019-08-26 10:47
閱讀 2234·2019-08-26 10:20
閱讀 1278·2019-08-23 17:59
閱讀 3009·2019-08-23 15:54