0
私three.jsシーンでは、x軸の周りに私のカメラを回転させるために、次のコードを持っている:私は0私のカメラに角度変数を設定しは機能していないthree.jsでカメラを回転させ、適切
var cameraOrginX = 0, cameraOrginY = 0, cameraOrginZ = 0;
var cameraEndX = 0, cameraEndY = 0, cameraEndZ = 1000;
var angle = 0;
function init(){
camera = new THREE.PerspectiveCamera(70, window.innerWidth/window.innerHeight, 1, 10000);
camera.position.set(0,0,1000);
//ROTATE THE CAMERA
var radians = angle * Math.PI/180.0;
cameraEndY = Math.cos(radians) * (cameraEndY-cameraOrginY) - Math.sin(radians) * (cameraEndZ-cameraOrginZ) + cameraOrginY;
cameraEndZ = Math.sin(radians) * (cameraEndY-cameraOrginY) + Math.cos(radians) * (cameraEndZ-cameraOrginZ) + cameraOrginZ;
//
//CAMERA NEW POS
camera.position.x = cameraOrginX + cameraEndX;
camera.position.y = cameraOrginY + cameraEndY;
camera.position.z = cameraOrginZ + cameraEndZ;
console.log(camera.position.y + " " + camera.position.z);
}
位置はx = 0、y = 0、z = 1000にあります。これは期待していることであり、良いことです。
しかし、角度を90度に変更すると、私の位置はx = 0 y = -1000 z = -999,99999に変更されます。位置はx = 0、y = -1000、z = 0と期待していますが、
なぜこのようなことが起こりますか?誰かが私が間違っているのものを私に説明することができ:)
0を除く全ての角度が私に奇妙な位置を与える:(
より多くのコードやjsfidleの必要がある場合はちょうど私に尋ねる:)
ありがとうございます:) – FutureCake