亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【three.js學(xué)習(xí)筆記】相機(jī)

KnewOne / 2980人閱讀

摘要:而針對(duì)投影方式的不同,照相機(jī)又分為正交投影照相機(jī)與透視投影照相機(jī)。我們需要為自己的程序選擇合適的照相機(jī)。相機(jī)視椎體右面。

相機(jī)API

照相機(jī)就是這樣一個(gè)抽象,它定義了三維空間到二維屏幕的投影方式,用“照相機(jī)”這樣一個(gè)類比,可以使我們直觀地理解這一投影方式。
而針對(duì)投影方式的不同,照相機(jī)又分為正交投影照相機(jī)與透視投影照相機(jī)。我們需要為自己的程序選擇合適的照相機(jī)。

正交投影照相機(jī)

THREE.OrthographicCamera(left, right, top, bottom, near, far) 

left: 相機(jī)視椎體(Camera frustum)左面。

right: 相機(jī)視椎體(Camera frustum)右面。

top: 相機(jī)視椎體(Camera frustum)上面。

bottom:相機(jī)視椎體(Camera frustum)下面。

near: 相機(jī)視椎體(Camera frustum)前面(靠近相機(jī)的這一面)。

far: 相機(jī)視椎體(Camera frustum)后面(遠(yuǎn)離相機(jī)的這一面)。

設(shè)置照相機(jī)
var camera = new THREE.OrthographicCamera(-2, 2, 1.5, -1.5, 1, 10);
camera.position.set(0, 0, 5);
scene.add(camera); 
相機(jī)位置
camera.position.set(2, -2, 5);
相機(jī)朝向

鏡頭默認(rèn)的方向是朝著z軸的負(fù)方向

camera.lookAt(new THREE.Vector3(0,0,0));

lookAt函數(shù)接受的是一個(gè)THREE.Vector3的實(shí)例,因此千萬(wàn)別寫成camera.lookAt(0, 0, 0),否則非但不能得到理想的效果,而且不會(huì)報(bào)錯(cuò),使你很難找到問題所在。

相機(jī)快門方向

相機(jī)快門默認(rèn)向上,以相機(jī)自身為中心畫坐標(biāo)軸(本地坐標(biāo)軸)默認(rèn)為(0,0,0);

camera.up.z= 1;
camera.up.x =1;
camera.up.y =-1;
更新相機(jī)投影矩陣
camera.fov = fov;
camera.updateProjectionMatrix();

更新相機(jī)投影矩陣,必須在參數(shù)發(fā)生變化后調(diào)用。

透視投影照相機(jī)

THREE.PerspectiveCamera(fov, aspect, near, far) 

視角fov:這個(gè)最難理解,我的理解是,眼睛睜開的角度,即,視角的大小,如果設(shè)置為0,相當(dāng)你閉上眼睛了,所以什么也看不到,如果為180,那么可以認(rèn)為你的視界很廣闊,但是在180度的時(shí)候,往往物體很小,因?yàn)樗谀愕恼麄€(gè)可視區(qū)域中的比例變小了。

近平面near:這個(gè)呢,表示你近處的裁面的距離。補(bǔ)充一下,也可以認(rèn)為是眼睛距離近處的距離,假設(shè)為10米遠(yuǎn),請(qǐng)不要設(shè)置為負(fù)值,Three.js就傻了,不知道怎么算了,

遠(yuǎn)平面far:這個(gè)呢,表示你遠(yuǎn)處的裁面,

4、縱橫比aspect:實(shí)際窗口的縱橫比,即寬度除以高度。這個(gè)值越大,說(shuō)明你寬度越大,那么你可能看的是寬銀幕電影了,如果這個(gè)值小于1,則為豎屏。

設(shè)置照相機(jī)
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 1000);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/94017.html

相關(guān)文章

  • Three.js學(xué)習(xí)筆記

    摘要:和使用的坐標(biāo)系是右手坐標(biāo)系。與都是指到照相機(jī)位置在深度平面的位置,而照相機(jī)不應(yīng)該拍攝到其后方的物體,因此這兩個(gè)值應(yīng)該均為正值。 Three.js是一個(gè)3D JavaScript庫(kù)。Three.js封裝了底層的圖形接口,使得程序員能夠在無(wú)需掌握繁冗的圖形學(xué)知識(shí)的情況下,也能用簡(jiǎn)單的代碼實(shí)現(xiàn)三維場(chǎng)景的渲染。 一個(gè)典型的Three.js程序至少要包括渲染器(Renderer)、場(chǎng)景(Sc...

    20171112 評(píng)論0 收藏0
  • WebGL three.js學(xué)習(xí)筆記 使用粒子系統(tǒng)模擬時(shí)空隧道(蟲洞)

    摘要:學(xué)習(xí)筆記使用粒子系統(tǒng)模擬時(shí)空隧道本例的運(yùn)行結(jié)果如圖時(shí)空隧道演示地址的粒子系統(tǒng)的粒子系統(tǒng)主要是依靠精靈體來(lái)創(chuàng)建的,要實(shí)現(xiàn)中的粒子系統(tǒng)創(chuàng)建,一般有兩種方式。 WebGL three.js學(xué)習(xí)筆記 使用粒子系統(tǒng)模擬時(shí)空隧道 本例的運(yùn)行結(jié)果如圖:showImg(https://img-blog.csdnimg.cn/20190426222855492.png?x-oss-process=ima...

    Guakin_Huang 評(píng)論0 收藏0
  • three.js學(xué)習(xí)筆記】場(chǎng)景

    摘要:對(duì)象是所有不同對(duì)象的容器,也就是說(shuō)該對(duì)象保存所有物體光源攝像機(jī)以及渲染所需的其他對(duì)象。對(duì)象又是被稱為場(chǎng)景圖,它不僅僅是一個(gè)對(duì)象數(shù)組,還包含了整個(gè)場(chǎng)景圖樹形結(jié)構(gòu)中的所有節(jié)點(diǎn)每個(gè)添加到場(chǎng)景的對(duì)象,甚至包括本身都是繼承自一個(gè)名為的對(duì)象。 THREE.Scene THREE.Scene 對(duì)象是所有不同對(duì)象的容器,也就是說(shuō)該對(duì)象保存所有物體、光源、攝像機(jī)以及渲染所需的其他對(duì)象。 THREE.S...

    codecraft 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<