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度に対応させたいなぁ。調べてもなかなか見つからない…


なんかこれでゲームとかが作れそうだな。