http://www.play21.jp/board/formz.cgi?ac ... &rln=48360
のスレでお世話になりました。
おかげさまで無地に実装できました。
揚力実装後に新たな点でつまづいたので質問させていただきます。
よし、これできれいに旋回できるかなーなんておもってたんですが、そんなわけありませんでした。
実際の飛行機は操縦桿の操作(ひいたり、おしたり)し、(水平尾翼の)揚力を増減によって機体の状態角度を変ます。
この点は、今の私のゲームではキーボードの入力から直接角度を変えているため、同様な操作ができます。
この後が問題です。
実世界での飛行機は、機体のこの状態角度の変化によって風がより主翼にあたり、揚力がさらに上昇し旋回を手助けます。
ですが、私のゲームでの現状は、状態角度を変えただけで揚力の増減が発生しません。
結果的に、移動している方向と機体が向いている方向がぜんぜんかけはなれてしまいました。
では、揚力に係数をかけてあげればよくて、その係数は機体の面と風が吹く方向によって決まるはずだ。
ということで、
まず、機体の進行方向のベクトルと風のベクトルを外積してみましたが、この方法だとロール角が考慮されないので、これだけでは駄目でした。
(ロール角によっては風と主翼の面がまったくあたらないような角度もあるため。)
じゃぁ、外積したあとに、さらにロール角を使って何か計算するだろう。
と思うまではたどり着きましたが、どうロール角を扱えばいいのか分かりません。
これが質問です。
ちょっと違うアスペクトから言いますと、求めたいのはある位置(機体のベロシティの単位位置ベクトル)から、原点に置かれ任意の角度に回転させた正方形を見たときの、その面(機体の主翼)の面積のような値です。
ただし、裏面が見えたときはプラスで、表面が見えたときはマイナスになるような値。
『このような特徴』を持った値は、揚力の係数として扱うことができると考えています。
(正方形の話は、あくまでイメージを伝えるために書きました。)
よろしくおねがいします。
