私はこの質問にanwserを見つけていないので、私はここでそれを試してみるつもりです。JavaScriptのオブジェクトの周りに3Dカメラを周回
(2d)キャンバスを使用する私はJavaScriptの世界で3次元の世界を作りました.3次元カメラでもうまく動作します。しかし、カメラは「フリーカメラ」なので、回転するとカメラは自転します。
ここでは、カメラを世界内のオブジェクトの周りを回転させたいと思いますが、その方法を理解することには多くの問題があります。
私は、次の式を試してみましたが、それは私が得た以下WojtekTによって提供さanwser、と私も回転しようとする前に...
this.x += (Math.sin(this.yd * (Math.PI/180)) * distance);
this.z -= (Math.cos(this.yd * (Math.PI/180)) * distance);
SO FAR UPDATED 感謝をフリークアウト次のコードでは、カメラをオブジェクトの周りに回しているだけでなく、ズームインしているように見えます...これは距離変数がほとんど変化しないので私を騙しているかもしれません(私は小さな丸め問題があると思います。期待される結果を与える)
this.y = (Math.sin(this.yd * (Math.PI/180)) * distance + this.targetY);
this.z = (Math.cos(this.yd * (Math.PI/180)) * distance + this.targetZ);
ここで、this.ydは、度で実行する速度です。
どのような式が必要ですか?
EDIT:http://clanpvp.com/js/sol/camera.js
http://clanpvp.com/sol : 私はこの問題を解決することができ、コードのどの部分か不明だが、ので、ここで完全なソースです<カメラオブジェクト、これはおそらく。
デバッグの理由から、keyupイベントがトリガーされると、新しいフレームが読み込まれます。 また、デバッグの場合、ターゲットオブジェクトは固定小数点です。画面の中央に表示されます。
矢印キーはカメラを移動、WASDキーは、これまでのWとSだけが何かをすると、彼らはそれを上記のコードに間違ったおかげで行う、カメラの電源を入れ...
あなたが持っている必要があります。この式は機能するために
「それが狂っている」とはどういう意味ですか? – WojtekT
何が起こっているのかよく分かりませんが、カメラは各フレームの後方に移動しているようです。私の推測は、私が使用している式は単なる間違っているので、カメラは私が望むものと全く異なる何かをします。 – Johan
もう少しコードを表示できますか? –