three.js相機(jī)camera位置屬性的設(shè)置

在剛開(kāi)始接觸three.js時(shí),會(huì)非常不理解相機(jī)camera中,有了position,其他的兩個(gè)up和lookAt的用途,他們也是一個(gè)位置屬性。

首先初始化渲染器


var renderer = new THREE.WebGLRenderer();

renderer.setSize(window.innerWidth, window.innerHeight);

document.body.appendChild(renderer.domElement);

var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

position屬性只是單獨(dú)設(shè)置點(diǎn)的位置坐標(biāo)的屬性,類似于X軸與Y軸,Z軸等

camera.position.set(0, 10, 0); //相機(jī)所在的位置,默認(rèn)為(0,0,0)

lookAt指的是相機(jī)的視角方向,它是看向哪個(gè)方向的,相機(jī)默認(rèn)看向的方向是從Z軸正方向看向負(fù)方向,也就是我們從屏幕外看向屏幕內(nèi)。

camera.lookAt(0, 0, 0); // 相機(jī)默認(rèn)看的方向是:Z軸的正半軸到Z軸的負(fù)半軸, 設(shè)置的點(diǎn)就是相機(jī)看向的角度

up則是設(shè)置豎軸是為什么軸,可以設(shè)為Y軸為數(shù)軸,也可以設(shè)置Z軸為豎軸,具體由數(shù)據(jù)決定。設(shè)置的相機(jī)的豎軸的方向:即Y設(shè)置的為正, 則y軸朝上, z軸點(diǎn)的坐標(biāo)為正, 則設(shè)置的z軸朝上.

camera.up.set(0, 1, 0); // 設(shè)置的相機(jī)的豎軸的方向:即Y設(shè)置的為正, 則y軸朝上, z軸點(diǎn)的坐標(biāo)為正, 則設(shè)置的z軸朝上

接著定義好相機(jī)的屬性后,便開(kāi)始布置場(chǎng)景等

            // 初始化場(chǎng)景
            var scene = new THREE.Scene();
            //指定材質(zhì)
            var material = new THREE.LineBasicMaterial({
                color: 0x0000ff
            });
            //初始化頂點(diǎn)
            var geometry = new THREE.Geometry();
            geometry.vertices.push(new THREE.Vector3(10, 0, 0));
            geometry.vertices.push(new THREE.Vector3(0, 1, 0));
            geometry.vertices.push(new THREE.Vector3(1, 0, 0));
            //初始化線條
            var line = new THREE.Line(geometry, material);
            scene.add(line);
            renderer.render(scene, camera);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容