Free Cameraを使ってみた。
フリーカメラで3D空間を移動
解説
今回使った、x,y,z方向にそれぞれとれだけ進むかを計算する式
bv.camera.x += Math.sin(bv.camera.rotationY/180 * Math.PI)*5;
bv.camera.y -= Math.sin(bv.camera.rotationX/180*Math.PI)*5;
bv.camera.z += Math.cos(bv.camera.rotationY/180 * Math.PI)*Math.cos(bv.camera.rotationX/180 * Math.PI)*5;
でもこれは、かなり適当な式です。rotationXに制限を付けないと動きがおかしくなります。
なので今回のものは -90 < rotationX < 90 の条件を付けました。
なんとか360度に対応させたいなぁ。調べてもなかなか見つからない…
なんかこれでゲームとかが作れそうだな。