Mitubishi MC-20をつくる(5) | virt_flyのブログ

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

イメージ 1
↑MC-20の脚は格納時も車輪の一部が露出している。AI機づくりに難題出現。
 

問題は格納時の車輪が一部露出のタイプであること

 

AI機を扱う際は、駐機時と飛行時とでのプロペラの回転の有無と合わせ、車輪の状態がどうなっているかについても注意が必要になります。
もちろん、駐機時は車輪が降りており、飛行時には車輪は格納されていなければなりません。

これに対応する方法として、3Dモデル設定xmlファイルをAI機用に書き換える方法を、ホームページの「仮想飛行」で紹介してきました。

今回、この方法では対応できないケースにぶつかったのです。

これまでは、AI機の一定の速度を基準に条件分岐のプログラムを記述し、車輪が出た状態を表示させるかまったく表示させないかで、車輪の出し入れを簡便に再現していました。

ところが、MC-20やDC-2など(確かHe-111も)、車輪格納時でも一部タイヤが露出した状態の機体があります。A-10も、事故を想定してわざと露出させてますよね。

明らかに、車輪の表示・非表示という単純な方式では対応できません。

条件分岐で対応できればいいのですが、どうもうまくいきません。駐機状態と飛行時の2つの3Dモデルをもうけるのが単純ですが、AI用の機体にメモリー喰いの3Dモデルを2つももうけるのは、関心できることではありません。できるだけxmlファイルの記述で済ませたいところ。

妥協して、機体の3Dモデルに閉じた状態の車輪の3Dモデルを追加し、表示・非表示を切り替えさせればメモリーの消費は抑えることができますが、既存の機体の3Dモデルをいじるのは抵抗があります。人が作成したものであればなおさら。とくに、本来の飛ぶ機体の3DモデルをそのままAI機と共用することの多い私にしては、あまりいじりたくない。

そこで考えたのが、追加ではなく、機体の3Dモデルとは別ファイルとして閉じた車輪だけの3Dモデルをもうけ、3Dモデル設定xmlファイル上でこれにパスを通し機体と結合させ、速度により表示、非表示とするものです。

折衷案ですが、悪くなさそうです。