
カタパルトからの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>