在使用three.js初始化相機(jī)的時(shí)候經(jīng)常看到如下代碼:
function initCamera() {
????camera = new THREE.PerspectiveCamera(45, width / height, 1, 10000);?
????camera.position.x = 0;//相機(jī)的位置
????camera.position.y = 0;
????camera.position.z = 600;
????camera.up.x = 0;//相機(jī)以哪個(gè)方向?yàn)樯戏?/p>
????camera.up.y = 1;
????camera.up.z = 0;
????camera.lookAt(0,0,0);//相機(jī)看向的坐標(biāo)
}
第一句很容易理解髓废,即聲明了一個(gè)透視投影相機(jī)懒棉,那么下面的代碼都是什么意思呢草描,我們來看一下:
1.camera.position.(x,y策严,z):用來確定相機(jī)的位置穗慕,來個(gè)栗子
camera.position.(0,1000妻导,0)逛绵;
2.camera.up.(x/y/z):用來確定相機(jī)以哪個(gè)方向?yàn)樯戏剑賮韨€(gè)栗子
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軸為上方)
通俗的理解就是相機(jī)正著拍倔韭,側(cè)著拍术浪,旋轉(zhuǎn)拍
3.camera.lookAt(0,0,0):用來確定相機(jī)看向的坐標(biāo),上栗子
相機(jī)位置在camera.position(500,500,1000)? ? ? 看向原點(diǎn)camera.lookAt(0,0,0)
不設(shè)置lookAt時(shí),相機(jī)默認(rèn)由正z軸看向xy平面,
所以只能看到y(tǒng)軸500位置的線條了