開始很懵逼,完全不能理解,有個position,還要up和lookAt干嘛。
[黑人問號臉❓❓❓]
既然是位置屬性不明白,那默認其它屬性都懂了。
上坐標軸:
先來第一個position屬性,可以設置xyz。
假設設置y為 1000
position(0,1000,0);
相機的位置是下圖:
單獨設置xz軸都和以上類似,位置z或者x軸某個位置。
那lookAt,字面上的意思就是,看向哪里。
相機默認是由正z軸看像-z軸(相機鏡頭對着-z軸方向拍),就是我們由屏幕外向屏幕內看一樣。
camera.lookAt({//相機看向哪個坐標 x : 0, y : 0, z : 0 });
以下為實例為 相機看向原點0,0,0。(相機位置position(500,500,1000))
以下為不設置lookAt
因為相機的位置在x軸500上,y軸500,z軸1000。默認是看向-z軸,所以只能看到y軸500位置的線條了。
那up屬性又是什么鬼,相機位置代碼如下設置情況下:
camera = new THREE.PerspectiveCamera(45, width / height, 1, 10000); camera.position.x = 500;//相機的位置 camera.position.y = 500; camera.position.z = 1000; // camera.up.x = 0;//相機以哪個方向為上方 // camera.up.y = 1; // camera.up.z = 0; camera.lookAt({//相機看向哪個坐標 x : 0, y : 0, z : 0 });
一切正常。
加個up屬性試試:
camera = new THREE.PerspectiveCamera(45, width / height, 1, 10000); camera.position.x = 500;//相機的位置 camera.position.y = 500; camera.position.z = 1000; camera.up.x = 0;//相機以哪個方向為上方 camera.up.y = 0; camera.up.z = 1; camera.lookAt({//相機看向哪個坐標 x : 0, y : 0, z : 0 });
代碼設置z軸為1,表示以z軸為相機的上方。(默認y軸為上方)
就是躺着看,趴着看,側着看的區別(我是這么認為的)
還不明白就是,手機正着拍,倒着拍,旋轉拍~~~