Three.js 開發機房(二)

這一節先不進行後續,咱們須要對Three.js的一些屬性進行了解。網絡

一、相機spa

  經常使用相機除了前一篇博客用到的PerspectiveCamera相機(透視相機), 還有一款名叫正交相機;3d

  【a】透視相機:對象

    類名:THREE.PerspectiveCamera ,重要參數:fov, near, far,aspect;blog

    Fov – 相機的視錐體的垂直視野角
    Near – 相機視錐體的近平面
    Far – 相機視錐體的遠平面
    Aspect – 相機視錐體的長寬比

  

  

(圖片來自網絡)圖片

如上圖,當咱們設置相機的屬性,再給相機一個固定的座標(position)和鏡頭朝向(lookAt), 就能夠獲得一個明確的視覺空間,而出如今這個視覺空間的物體就會被渲染出來,就像咱們的眼睛,在咱們所處的世界中咱們的眼睛會有一個相對於世界已知的點,還有面對的方向,這樣咱們的視線就會構成一個視覺範圍,出如今這個視覺範圍的物體就會被咱們看見,而被咱們看見的物體是已經存在的,不會由於咱們看或者不看而存在或者毀滅(我咋感受我開始辨析惟物主義了呢),同理,Three.js經過構建模型在scene中將這個模型渲染出來,無論咱們的camear的方向和位置,這個已經渲染好的模型永遠不會改變(除非認爲修改這個模型的position,手動狗頭)。博客

  【b】正交相機it

    類名:THREE.OrthographicCamera,重要參數:left : Number, right : Number, top : Number, bottom : Number, near : Number, far : Number io

    left - 相機視錐體左平面。
    right - 相機平截頭體右平面。
    top - 相機平截頭體頂部平面。
    bottom - 相機平截頭體底部平面。
    near - 近平面距離。
    far - 遠平面距離。

    在正交投影模式下,不管距離相機(須要設置position和lookAt)的距離如何,渲染圖像中的對象大小都保持不變。ast

(圖片來自網絡)

使用方法:

var camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
camear.position.set(100, 100, 100);
cameat.lookAt(0, 0, 0);
scene.add( camera );

二、燈光

  【a】環境光

    類名:THREE.AmbientLight(hex),參數:環境光顏色(注意是16進制),

    這款光線不能直接產生影子,通常用做其餘影子類的基類

  【b】平行光

    類名:THREE.DirectionalLight(hex),參數:平行光顏色(16進制),平行光咱們能夠看作太陽光。

    DirectionalLightShadow :與其餘陰影類不一樣,它使用OrthographicCamera來計算陰影,而不是PerspectiveCamera這是由於來自DirectionalLight的光線 是平行的

  【c】點光源

    類名:THREE.PointLight(hex, intensity, distance),參數:hex-點光源顏色,intensity-點光源強度(缺省爲1,即100%,爲最強),distance-光源能照到的最遠距離(缺省爲0)

    點光源顧名思義就像燈泡相似的光源,距離燈泡近的地方光線強,距離遠的地方光線弱

    從全部方向上的單個點發出的光。一個常見的用例是複製裸燈泡發出的光。

    設置屬性 castShadow = true  開啓陰影

  【d】聚光燈

    類名:THREE.spotLight(),參數:color, intensity, distance, angle, penumbra, decay

        color(顏色)- (可選)十六進制顏色的光。默認值爲0xffffff(白色)。
        intensity(強度)- (可選)燈光強度/強度的數值。默認值爲1.
        distance(距離) - 燈光的最大範圍。默認值爲0(無限制)。
        angle(角度) - 從其上限爲Math.PI / 2的方向的最大光散射角。
        penumbra(半影) - 因爲半影而衰減的聚光錐的百分比。取值介於0和1之間。默認值爲零。
        decay(衰變) - 光線沿光線距離變暗的量。

  這種光從一個方向的一個點發出,沿着一個圓錐體,它的尺寸越大,離它獲得的光越遠。

  和點光源相似設置屬性 castShadow = true  開啓陰影

相關文章
相關標籤/搜索