three.js と flightcontrols.js (three.js に同梱されている例) を使用して、小さな宇宙シミュレーターのデモに取り組んできました。
デモはhttp://www.zacharycarter.com/PrivateerRedux/demo.htmlで見ることができます。
制御方式は非常に単純です。マウスでカメラを制御し、左クリックして発射物を発射します。
発射物を生成する方法に少し問題があります。現在、カメラの回転と同じ回転に設定していますが、これが問題の原因であると考えています。
ゲーム ワールドの周りでカメラを回転させ、発射体を発射し続けると、発射体の位置と向きがすぐにおかしくなることに気付くでしょう。
カメラの回転を表すためにクォータニオンを使用していますが、カメラの回転と一致するように発射体の回転を設定する前に、クォータニオンからオイラー角も導き出します。
ここで私が間違っていることについてのアイデアはありますか? カメラの回転から一定の正面向きの回転を計算する必要があると感じていますが、その方法がよくわかりません。
ありがとう!