submodelsでGO!―ballistic | virt_flyのブログ

virt_flyのブログ

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

イメージ 1

 Me262を改造して作成した橘花似のp-kikka(Me262改)にドロップタンクやロケット弾などを装備した際に、これらを投下したり発射したり切り離すのにさんざん利用してきたのがsubmodelsに記述したballistic(弾道)モデル。今回はミステル子機やドリーの切り離しに、これを利用しました。

submodels.xml
 Me262の/Modelsディレクトリ下に、下記の内容を記述したsubmodels.xmlを新規に作成します。
 他の機体のミサイル発射用に記述したsubmodels.xmlを流用したので、そんな言葉が残ってしまいました。

<?xml version="1.0"?>

<PropertyList>

  <submodel>   ←この部分はドリーの切り離し
    <name>Trolley</name>
    <model>Aircraft/ME-262/Models/chariot2.xml</model>   ←ドリーのxmlファイルを指定
    <trigger>controls/armament/station[2]/missiles</trigger>
    <speed>0</speed>   ←ドラッグシュートは無視し、切り離し時の速度で自然落下に
    <repeat>false</repeat>
    <count>1</count>
    <x-offset>0</x-offset>
    <y-offset>0</y-offset>
    <z-offset>0</z-offset>
    <yaw-offset>0</yaw-offset>
    <pitch-offset>0</pitch-offset>
    <wind>false</wind>
    <eda>0.000001</eda>
    <weight>500</weight>   ←済みません!適当です
    <buoyancy>20.0</buoyancy>   ←ドリーが落下するよう値は小さく
    <cd>0</cd>
    <life>50</life>
    <aero-stabilised>true</aero-stabilised>
  </submodel>

  <submodel>   ←この部分は子機の切り離し
    <name>mistel</name>
    <model>Aircraft/ME-262/Models/me262_c.xml</model>
    <trigger>controls/armament/station[3]/missiles</trigger>
    <speed>0</speed>   ←自然落下ではないのですが、親機より早すぎても遅すぎても
    <repeat>false</repeat>
    <count>1</count>
    <x-offset>0</x-offset>
    <y-offset>0</y-offset>
    <z-offset>0</z-offset>
    <yaw-offset>0</yaw-offset>
    <pitch-offset>0</pitch-offset>
    <wind>false</wind>
    <eda>0.000001</eda>
    <weight>1000</weight>   ←済みません!適当です
    <buoyancy>30.0</buoyancy>   ←子機は少しは落下傾向に
    <cd>0</cd>
    <life>150</life>
    <collision>true</collision>   ←以下は目標や地表に衝突した子機を爆発させるため
    <impact>true</impact>
    <impact-report>ai/models/model-impact</impact-report>
    <submodel-path>Aircraft/A-10/Models/Stores/MK-82/MK-82-submodels.xml</submodel-path>   ←爆発にはこのファイルがあるA-10サンダーボルトの当該ディレクトリのすべてが必要です。Me262に取り込むもよし
  </submodel>

</PropertyList>

me262_mistel-set.xml
 なお、submodelsを有効にする記述、切り離し用のキーの指定をme262_mistel-set.xmlに書き加えておく必要があります。me262_mistel-set.xmlは、元のme262-set.xmlをミステル用に作り変えたものです。

<?xml version="1.0" encoding="UTF-8"?>

<!-- <PropertyList include="me262-jsbsim-cnf.xml"> -->
<PropertyList include="me262_mistel-yasim-cnf.xml">   ←関連ファイル名を変更

 <sim>
  <description>Messerschmitt Me-262</description>
  <author>Emmanuel BARANGER (3D/ / Michael KOEHNE (FDM) / Laurent HAYVEL (Texture)</author>

  <submodels>   ←submodelsを有効にします
  <serviceable type="bool">true</serviceable>
  <path>Aircraft/ME-262/Models/submodels.xml</path>
  </submodels>
 </sim>

 <input>
  <keyboard>
    <key n="10">   ←ctrl+Jキーでドリーを切り離します
        <name>Ctrl-J</name>
        <desc>Trolley</desc>
        <binding>
            <command>property-assign</command>
            <property>/controls/armament/station[2]/missiles</property>
            <value type="bool">1</value>
        </binding>
    </key>
    <key n="11">   ←ctrl+Kキーで子機を切り離します
        <name>Ctrl-K</name>
        <desc>mistel</desc>
        <binding>
            <command>property-assign</command>
            <property>/controls/armament/station[3]/missiles</property>
            <value type="bool">1</value>
        </binding>
    </key>
  </keyboard>
 </input>

</PropertyList>

 画像は、子機を切り離すMe262 Mistel。親機は爆撃機仕様のMe262 A-2a/U2に似せてMe262を改造したもの。