virt_flyのブログ -135ページ目

virt_flyのブログ

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

イメージ 1イメージ 2

 

モード選択機能の利用例

 

せっかくですから、前回ふれたJu 87のモード選択機能を使って、T-34に燃料タンクを着脱したり、赤旗をはためかせたりできるようにしてみました。ついでに車体の色も少しいじってみました。

起動した画面のメニューバー右端にあるT-34と書かれたタブをクリックし、開いたドロップダウンメニューからEquipments mode 1を選ぶと、車体後部に四角い感じの燃料タンクとこれにくくりつけられた想定ではためく赤旗が現れます。Equipments mode 2を選ぶと砲塔に本来あるはずの手すりにくくりつけられた想定の赤旗だけが現れるようにしています。デサント兵に旗をもたせたらそれらしいでしょうし、戦車上からマンドリンででも射撃させれば、機能をもう少し利用してやることができるんでしょうが、兵隊の3Dモデリングは大変そうなのであきらめましょう。

ペイントのことはよくわかりませんが、第2次大戦当時のソ連では初期にはロシアングリーン1とかいう目立つ明るめの緑の塗装がされていたそうです。どんな色かよくわからぬまま適当な色にしてましたが、どうにもリアリティに欠けるので、できたら何とかしたいと思っていましたので、この際にと少し暗くよごしもいれてみました。砂や泥をかぶった雰囲気がでればと、ホイールや履帯の色を他より少し茶色くしてみたりもしました。そのせいか、かなり茶色がかったグリーンになってしまったようです。

当時の数少ないカラー写真を見ると、発色状態がよくないのか全体的に白っぽく写った写真のT-34/76の色は青みがかった明るいグレーといった感じで、またシャーマン戦車が一緒に写っていることから後期に属するT-34/85と見られる写真では、両者とも同じオリーブドラブかと思われる有様で、正確なことはわかりませんがどちらにしても少々異なってる気がします。

イメージ 1

↑画面中央で上下別画像をひっつけています。雲にも誤差なく、瞬時に武器の切り替えができています。
 

クリック一つで瞬時に装備変更ができるのだが

 

いろいろな機体を飛ばしてみるものですね。先頃Ju 87を飛ばしてみていて、役立ちそうなものを見つけました。

メニューバーからクリックひとつで、翼の機銃に替えて翼下にガンポッドを出現させたりその逆を実現する機能です。しかも、翼の機銃と翼下のガンポッドでは銃口の位置が大きく異なるにもかかわらず、該当する銃口が火を吹く様子を簡単な条件指定だけで再現しているのですから。

この機能、便宜的に「モード選択」の機能とよぶことにします。似たような機能は、他の機体にもあるのでしょうがが、そのシンプルさから、いろいろな応用ができそうです。

装備の脱着、機種のバリエーションへの対応など、どの程度まで使えるものか、久しぶりに我がJu EF.128改を用いて試してみました。

目標は、爆弾とミサイルとクリックひとつで取り替えができるようにすること。

メニューバーからのモード選択

メニューバーから、爆弾やミサイルを指定してやるためには、Dialogsフォルダにあるjuef128-menu.xmlに以下の記述を挿入してやります(赤字部分)。
 

<?xml version="1.0">

<PropertyList>

  <default>
  <menu n="10">
   <label>Ju EF128</label>
   <enabled type="bool">true</enabled>
   <item>
    <label>Select Livery</label>
        ・
        ・
        ・
        (略)
        ・
        ・
        ・
   <item>
    <label>Weapons mode 1</label>
    <binding>
     <command>property-assign</command>
     <property>/sim/model/weapons</property>
     <value>1</value>
    </binding>
    <binding>
     <command>property-assign</command>
     <property>sim/multiplay/generic/float[11]</property>
     <value>1</value>
    </binding>
   </item>
   <item>
    <label>Weapons mode 2</label>
    <binding>
    <command>property-assign</command>
    <property>/sim/model/weapons</property>
    <value>2</value>
    </binding>
    <binding>
    <command>property-assign</command>
    <property>sim/multiplay/generic/float[11]</property>
    <value>2</value>
    </binding>
    </item>

        ・
        ・
        ・
        (略)
        ・
        ・
        ・
  </menu>
  </default>

</PropertyList>

Ju 87のGuns modeにならい、ここでは銃ではなく爆弾やミサイルという武器なのでWeapons modeとしました。このプログラムでやっていることは、/sim/model/weaponsというプロパティーに、武器のモードに合わせた数値を与えているとみなされます。

なお、juef128-menu.xmlをメニューバー設定ファイルとして使用するためには、あらかじめ機体設定ファイルであるjuef128_custom-set.xml中の<sim>タグ内に<menubar include="Dialogs/juef128-menu.xml"/>が記述されている必要があります。

使い方の実際は、メニューバーの右端の機体名Ju EF128のタブをクリックして表示されるドロップダウンメニューからモードを選び、装備を変更することになります。瞬時に変更されてなかなかいいのですが、そのためには、まだ次に記すことが必要です。

装備の脱着

ミサイルや爆弾の装備については、対応する3Dモデルのacファイルが用意されていることが前提です。
Ju 87では、機体本体のacファイルのなかに、当該3Dモデルが含まれており、機体の3Dモデル設定ファイル/Models/ju87.xml中の、<animation>で選択したモードに合わせ表示をselectすることで、目的の銃を描画させています。

我がJu EF128では、爆弾やミサイルの3Dモデルのacファイルは、機体のacファイルから独立していますから、装着すべきステーション位置に描画されるよう、機体の3Dモデル設定ファイル/Models/juef128_custom.xml中で爆弾やミサイルのacファイルに対応する3Dモデルxmlファイル(すでに存在)をフルパス指定しておき、爆弾やミサイルのxmlファイルの側で描画するかどうかの条件指定を記述してやります。

●機体の3Dモデル設定ファイル(/Models/juef128_custom.xml)中の記述の例
同じハードポイントに爆弾もしくはミサイルを装着する記述になっています。

        ・
        ・
        ・
        (略)
        ・
        ・
        ・
  <model><!-- Bomb, station 5 -->
   <path>Aircraft/juef128/Models/Stores/Bombs/bomb-sta5.xml</path>
   <offsets>
     <x-m>-0.93</x-m>
     <y-m> 1.16</y-m>
     <z-m>0.06</z-m>
     <!--<pitch-deg>-2</pitch-deg>-->
     <pitch-deg>0</pitch-deg>
   </offsets>
 </model>

 <model><!-- Missile, station 5 -->
   <path>Aircraft/juef128/Models/Stores/Missiles/missile-sta5.xml</path>
   <offsets>
     <x-m>-0.93</x-m>
     <y-m> 1.16</y-m>
     <z-m>0.06</z-m>
     <!--<pitch-deg>-2</pitch-deg>-->
     <pitch-deg>0</pitch-deg>
   </offsets>
 </model>
        ・
        ・
        ・
        (略)
        ・
        ・
        ・

●ミサイルの3Dモデルxmlファイル(/Models/Stores/Missiles/missile-sta5.xml)での例
ここではモード2が選択されているときにミサイルが描画される記述になっています。

<?xml version="1.0"?>

<PropertyList>

 <path>missile2.ac</path>

 <animation>
  <enable-hot type="bool">false</enable-hot>
 </animation>


 <animation>
  <type>select</type>
        <object-name>body-rear</object-name>
        <object-name>body-front</object-name>
        <object-name>fins</object-name>
        <object-name>fins.001</object-name>
        <object-name>fins.002</object-name>
        <object-name>Cone</object-name>
  <condition>
    <!-- start for Weapons mode -->
    <and>
       <not>
        <property>fdm/jsbsim/systems/armament/station5/released</property>
       </not>
       <equals>
        <property>sim/model/weapons</property>
        <value>2</value>
       </equals>

    </and>
    <!-- end for Weapons mode -->
  </condition>
 </animation>

 <!-- *** LoD *** -->
 <animation>
  <type>range</type>
  <min-m>0</min-m>
  <max-m>2000</max-m>
 </animation>

</PropertyList>

 以上で、メニューバーからの装備の脱着はOKです。

武器の使用時が問題

 装備の脱着が可能となったので、次はいよいよその使用です。モード1を選択した時は爆弾が落下していき、モード2でミサイルが煙を吐いて飛んでいくようにしたく、あわせて爆弾やミサイルが目標や地表に衝突すると爆発する様を再現する必要があります。

 Ju EF128では、使用する武器のハードポイントを模擬的にタッチパネルで指定するようにしたりしていて少々複雑なので、くわしいことは省略し、結論から言えば、トリガーが働いた後の爆弾、ミサイルの落下や飛翔の様子を記述したsubmodelsのxmlファイル(正確にはここではsubmodels2.xml)や、煙を吐くミサイルなどの3Dモデルxmlファイル、爆発を再現する3Dモデルxmlファイルに、先の<property>sim/model/weapons</property>で条件指定を書き込んでみたものの機能しませんでした。いろいろ試してみましたが、まったく消えてしまうか消えずに両方が再現されてしまいます。移動物体では無理なのか?

 今一度Ju 87を動かしてよく確かめると、モード1でも2でも機銃弾の軌跡が4筋も見えており、2筋でないことからみればやはりこちらでも機能していないことがわかります。何が問題なんでしょうか? バージョンの関係とかでしょうか? 今のところお手上げ状態です。いい線いってるのに、残念ですね。

イメージ 1

 

タンクキラー

 

T-34中戦車を自作したので、天敵といってよいのではないかと思われるタンクキラーのJu 87 Stukaを、FlightGearで飛ばしてみることにしました。

記録映像などで見る、急降下爆撃をおこなうStukaは、逆ガルウイングと猛禽の足を思わせる固定脚の異様な姿が、悪魔や怪鳥かといった趣きで、ナチスドイツの侵略のイメージとオーバーラップして、少々生理的に受け付けない感じがこれまでしていたものでした。

FlightGear用のStukaはJu87D(もしくはG)のようです。Ju 87は、大戦末期にはすでに旧式化していましたが、対戦車用の37mm機関砲をガンポッド方式で翼下に搭載し、対戦車攻撃機として使用されました。ソ連軍には大きな損害を与えたようですが、大量の戦車を投入してくるソ連軍の進撃は阻止できなかったみたいですね。対空砲火や戦闘機にかなりやられているようです。「シュトゥーカ大佐」といわれたルーデルも、地上砲火で30回も撃墜されています。

戦車が被弾した場合、貫通した弾の破片が戦車内部であちこち当たって跳ね返り、中にいた人間はミンチ状態になるとか。現代では、戦車砲弾が当たると高熱で装甲を破り、一瞬にして内部は焦熱地獄となると聞きます。ミンチやバーベキューにされるのはまっぴら。鉄の棺桶とはよく言ったものです。戦車兵にはなりたくない。潜水艦乗りも嫌だけど。徴兵されて、なれるのは歩兵だろうから心配ないか。いやいや戦車に踏み潰されちゃうよ。やっぱり戦争に行くのはよそう!

いくら兵器の性能が相手より上回っていても、故障が多かったり、量的に劣っていれば、勝つことができないということは理解ができます。ても、多少性能的に劣る兵器であっても、数でカバーするという考えは、闘わされる兵隊の身になって考えると、消耗が前提になっていていささか納得できないものがあります。特攻よりマシか知れませんが。しかし、少々の数では話になりませんが、圧倒的な数的優勢があれば、損害を抑えることができるようです。考えてみれば単純な算数ですが。

さて、FlightGearのJu 87を飛ばしてみての感想ですが、まず離陸に細心の注意を払わないとすぐ回転してしまい、また、急降下爆撃機だというのにダイブするのはやさしくなく、力まかせに機体をねじふせるようにしないとならない感じで、操縦しにくく索敵どころでありません。実際のStukaは操縦しやすかったそうですが、37mm機関砲のガンポッドをつけた機体は、熟練者でもかなり難しかったようです。

道路上にT-34をならべ、Stukaで攻撃の設定をしてみたのですが、戦車を配置した本人でもこれを上空から見つけるのはかなりどころでなく困難。見つけるだけでも大変なのに、「ソ連人民の敵」とされたルーデルが、戦車だけでも500両以上破壊したというのは驚きです。実際とパソコン画面とでは、ちがうのでしょうか。今回は、パソコンが戦車を描画するのに時間がかかり、Stukaの速さに追いつかず、画面にまともに戦車が表示されなかったことも反映したようです。

 画像は、T-34の車列と後方から飛来したStukaをそれらしく再現しようとしたもの。T-34のエンジンは車体後部にありますから、Stukaが攻撃するとすれば後方からかと思ったのですが、実際のところはどうだったんでしょう。

 ちなみに、FlightGear用のStukaをよく見ると、左の脚部に小さなプロペラがあります。威嚇用のサイレン(ジェリコのラッパ)を再現しているのですね。スペイン内乱時の経験から急降下するStukaが起こす風切り音に心理的威嚇効果が認められ、B型とD型の一部に取り付けられたもの。1941年以降は使われなくなっていったということですから、FlightGear用のStukaがD型とみなされる由縁です。