I-400の改造3)ーカタパルトからの射出 | virt_flyのブログ

virt_flyのブログ

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

イメージ 1
 

カタパルトからのM6A晴嵐のAI機の射出

 

  引き続いてFlightGear用I-400の改造の記録です。読み飛ばして結構です。

  ここでは、I-400のカタパルトから水上機の射出を可能にする改造を扱っています。改造のついでにということだったのですが、クレーンの改造よりよほど手間のかかるものでした。

  基本は、ミサイルの発射や爆弾の投下よろしく、水上攻撃機M6A晴嵐を武器扱いして、<submodel>を記述するものです。カタパルトからの射出といっても、あくまでもAI機としてのものです。

  てはじめに、i400-set.xml中にsubmodelsや武器の使用を有効にする記述を書き加える必要があります。

●i400-set.xmlへの追加

<?xml version="1.0" encoding="ISO-8859-1"?>

<PropertyList include="i400-base.xml">

  <sim>

    <description>I-400 (YASim)</description>
         ・
         ・
         (中略)
         ・
         ・
  <submodels>
   <serviceable type="bool">true</serviceable>
    <path>Aircraft/I-400/Models/submodels.xml</path>
  </submodels>

   </sim>

   <controls>
  <armament>
   <trigger type="bool">false</trigger>
   <master-arm type="bool">true</master-arm>
   <position-norm type="int">1</position-norm>
  </armament>
 </controls>

</PropertyList>


  次は、核心となるsubmodels.xmlの新規作成です。射出後のM6A晴嵐の動きを設定します。下記にかかげた例の各数値はもっと調整が必要でしょう。射出位置、ピッチ、射出速度…。

●submodels.xmlの新規作成

<?xml version="1.0" encoding="UTF-8"?> ←encordingは統一した方がよさそう

<PropertyList>



  <submodel>
    <name>M6A</name>
    <model>Aircraft/I-400/Models/Aichi-M6A/m6a.xml</model>
    <trigger>controls/armament/station[0]/M6A</trigger>
    <speed>120</speed>
    <repeat>false</repeat>
    <count>1</count>
    <x-offset>10</x-offset>
    <y-offset>0.65</y-offset>
    <z-offset>8</z-offset>
    <yaw-offset>0</yaw-offset>
    <pitch-offset>5</pitch-offset>
    <wind>false</wind>
    <eda>0.000001</eda>
    <weight>500</weight>
    <buoyancy>32.0</buoyancy>
    <cd>0</cd>
    <life>150</life>
    <aero-stabilised>true</aero-stabilised>
    <collision>true</collision>
    <impact>true</impact>
  </submodel>

</PropertyList>


前後が逆になっていますが、射出まえのM6A晴嵐の準備をすませておかねばなりません。3Dモデル設定ファイルi400.xmlに以下のような記述を追加します。

●i400.xml(3Dモデル設定ファイル)

<?xml version="1.0" encoding="ISO-8859-1"?>

<PropertyList>

<path>i400.ac</path>
         ・
         ・
         (中略)
         ・
         ・
   <!-- Aichi M6A -->
   <model>
    <name>M6A</name>
    <path>Aircraft/I-400/Models/Aichi-M6A/m6a.xml</path>
    <offsets>
      <x-m> -21.9 </x-m>
      <!--  <y-m> 0.0 </y-m>  -->
      <y-m> 0.355 </y-m> ←機体の位置をカタパルトに合わせてみた
      <z-m> 4.2 </z-m>
      <pitch-deg> 10 </pitch-deg>
     </offsets>
    </model>
         ・
         ・
         (中略)
         ・
         ・
    <animation>
     <type>select</type>
     <object-name>M6A</object-name>
     <condition>
      <not>
       <equals>
        <property>controls/armament/station[0]/M6A</property>
        <value>1</value>
       </equals>
      </not>
     </condition>
    </animation>

</PropertyList>


  最後に、トリガーキーの設定です。ctrl+KキーでM6A晴嵐の射出を行うものとし、i400-keyboard.xmlに記述を追加します。なお、必須事項ではありませんが、忘れた時のために新設した射出キーのことをhelp.xmlに書き込んでおけばベターでしょう。

●i400-keyboard.xmlへの追加

<?xml version="1.0" encoding="ISO-8859-1"?>

<PropertyList>
         ・
         ・
         (中略)
         ・
         ・
    <key n="11">
     <name>Ctrl-K</name>
     <desc>M6A</desc>
     <binding>
      <command>property-assign</command>
      <property>/controls/armament/station[0]/M6A</property>
      <value type="bool">1</value>
     </binding>
    </key>

</PropertyList>


●help.xmlへの追加
 

<?xml version="1.0" encoding="ISO-8859-1"?>

<PropertyList>

    <title>Submarine Type I-400</title>
         ・
         ・
         (中略)
         ・
         ・
    <key>
     <name>Ctrl+K</name>
     <desc>Aircraft catapult</desc>
    </key>

</PropertyList>