在使用three.js初始化相機的時候經(jīng)常看到如下代碼:
function initCamera() {
????camera = new THREE.PerspectiveCamera(45, width / height, 1, 10000);?
????camera.position.x = 0;//相機的位置
????camera.position.y = 0;
????camera.position.z = 600;
????camera.up.x = 0;//相機以哪個方向為上方
????camera.up.y = 1;
????camera.up.z = 0;
????camera.lookAt(0,0,0);//相機看向的坐標
}
第一句很容易理解,即聲明了一個透視投影相機,那么下面的代碼都是什么意思呢,我們來看一下:
1.camera.position.(x,y,z):用來確定相機的位置,來個栗子

camera.position.(0,1000,0);
2.camera.up.(x/y/z):用來確定相機以哪個方向為上方,再來個栗子

camera.up.x=0;? ? ? ?camera.up.y=1;? ? ? ? ?camera.up.z=0;? (y軸為上方)

camera.up.x=0;? ? ? camera.up.y=0;? ? ? camera.up.z=1;? (z軸為上方)
通俗的理解就是相機正著拍,側(cè)著拍,旋轉(zhuǎn)拍
3.camera.lookAt(0,0,0):用來確定相機看向的坐標,上栗子

相機位置在camera.position(500,500,1000)? ? ? 看向原點camera.lookAt(0,0,0)

不設(shè)置lookAt時,相機默認由正z軸看向xy平面,
所以只能看到y(tǒng)軸500位置的線條了