在剛開(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);