北爆シナリオ(5)ーAI機にジェットガスと燃焼光 | virt_flyのブログ

virt_flyのブログ

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

 

イメージ 1

 

4)ターゲットのAI機にジェットガスと燃焼光

 ターゲットのAI機をBombable対応にしたのはいいのですが、このAI機は残念ながら、飛行中にエンジンからのジェットガスや燃焼光を出していません。ジェットの場合はそれでもあまり目立たないからましですが、レシプロ機だと飛行中もプロペラが止まったままとなり、見た目明らかにリアリティに欠けます。

 これに対処する方法は、ホームページの方(「仮想飛行」)に、velocities/true-airspeed-ktを用いてAI機のプロペラを回す方法を紹介しています。
 今回、北爆シナリオをつくるきっかけとなった WWII-Combat Scenarios for FlightGearに付属のBー17のファイルでも、同様の方法がとられていました。
 AIジェット機の場合も、同様にして、ジェットガスや燃焼光を再現できますので、後で実例を紹介しますが、その前に、なんとAI機のプロペラを回す別な方法があったのです。

 先に、AI機をBombable対応にする方法を述べたページにて、-bombableinclude.xmlにふれた際、ジェット機にはジェット機のものをコピーして使うと書きましたが、実はプロペラ機の場合とで若干の違いが見られたからです。まさにその箇所がAI機のプロペラを回すのに必要な記述がある場所でした。

 レシプロ機用の-bombableinclude.xmlには、冒頭よりすぐのところで、次のような記述がでてきます。
   setprop (nodeName ~ "/engines/engine/rpm", "3000");

 続いて次のような行が出てきたら双発機、さらに[ ]内が2、3の行もでてきたらエンジンが4発機なのでしょう。
   setprop (nodeName ~ "/engines/engine[1]/rpm", "3000");

 おそらくAI機のエンジンの回転数をここで指定することによって、回転数に見合うプロペラの表示がなされることになるのでしょう。そりゃNasalプログラムを記述すれば、可能でしょうとも、というところです。

 さしずめジェット機の場合は、engines/engine[0]/augmentationかなと思うのですが、これが何なのかは、恥ずかしながら理解していません。

 よほどのことでもなければ、velocities/true-airspeed-ktを用いる方法で良いのじゃないかと思うのですが。

 それでは、ジェットガスや燃焼光の再現方法の実例です。

[Fー4D、Fー105の場合]
 davidculpのハンガーからダウンロードしたこれらの機体は、共通する機能をDavePackという別なフォルダをもうけてまとめられている点が、他のFlightGearの機体とは異なるところです。

 Fー105の例では、AI機用に作成した3Dモデル設定.xmlファイル、すなわちFー105-ai.xml中にあるplume.xmlをplume-ai.xmlに書き換えます。エンジンが2つあるFー4Dの場合は、plume-1とplume-2の2つ.xmlがありますが、面倒なのでいずれもplume-ai.xmlと書き換えました。

 次に、機体と同じくAircraftファルダ下に置かれたDavePackのフォルダの内、Effectsフォルダ中のAfterburnerフォルダ内に、plume-ai.xmlファイルを作成します。もっぱらplume.xmlのコピーですが、plumeの<animation>を記述した箇所の<condition>部分を、velocities/true-airspeed-ktを用いて以下の通り書き換えます。

    <condition>
     <or>
       <property>engines/engine[0]/augmentation</property>-->
       <greater-than>
         <property>velocities/true-airspeed-kt</property>
         <value> 5 </value>  ←この数値はいい加減です。
       </greater-than>
    </or>
   </condition>

 以上で、ターゲットのF-4DやF-105のエンジンからは、炎が噴き出して見えるようになったはずです。

[Ju EF128の場合]
 より一般的な機体の例として、自作の愛機Ju EF128をとりあげます。

 まず、AI機用にModelsフォルダ中のjuef128.xmlをコピペしてjuef128-ai.xmlを作成します。次いでその中のflammes.xmlと書かれたところを、flammes-ai.xmlと書き換えます。

 次に、Effectsフォルダの中のflammesフォルダにあるflammes.xmlをコピペしてflammes-ai.xmlを作成します。
 続いて、作成したflammes-ai.xml中のcontrols/engines/engine[0]/throttleをvelocities/true-airspeed-ktに置き換えます。<value>は適当な数値を与えてください。もともとは段階的にジェットガスの様子が変わるようになっているのですが、AI機のことなので<condition>は一つにしてしまった方がすっきりします。以上で完了です。

 画像は、AI機のF-4DとJu EF128。ジェットエンジンの炎が再現されています。