
AI機のM6Aのプロペラを回す
I-400潜水艦の改造記録です。
これまでの改造で、M6A晴嵐をカタパルトで射出が可能となりました。しかし、このままでは射出されたM6A晴嵐は、プロペラが回らないまま飛行するというおかしなことになります。
プロペラが回っている様子は、これを擬似的に再現する3Dオブジェクトを使うのが通常ですが、なんとI-400の中にあるM6AのAI機の3Dモデルでは、これが省略されていて含まれていません。FlightGear用の本来のM6Aの機体から当該オブジェクトだけコピーしてくる必要があります。
問題は、格納容器から引き出された直後のM6A晴嵐はプロペラが止まっているが、カタパルトで射出するときは、プロペラが高速回転している、この2つの状態を再現できなくてはなりません。
2つの状態を分けて再現することのできる、都合のよい条件がなかなかみつけられず、それぞれに対応する3Dモデル設定xmlファイル、m6a.xmlとm6a-2.xmlとをもうけることにしました。
なお、高速で動くプロペラの残像が半透明の扇形を描くのを模した3Dオブジェクトを表示させることで、回転するプロペラを擬似的に再現しているわけですが、いまいち動いている感じがしません。そこで、これを少し回転させることでリアリティが増さないかと、ゆっくり動かしてみたのですが、いかがでしょう。
●回転するプロペラを模した3DオブジェクトをI-400のAichi-M6Aに付け加える
別途ダウンロードしたAichi-M6AのModelsフォルダ中にあるm6a.acを、Blenderなどの3Dモデリングソフトで開き、ここではpropblurのみを選択して、propか何かの名前のacファイルに書き出します。
ついで、I-400内のModelsフォルダ内のAichi-M6Aフォルダにあるm6a.acを3Dモデリングソフトで開いた上、先のprop.acを読み込みます。
あらたに取り込まれたpropblurをはじめすべてをac形式で書き出し、新たなm6a.acの完成です。
●m6a.xmlへの追加ー格納容器から引き出された直後のプロペラの止まった状態
<?xml version="1.0" encoding="ISO-8859-1"?>
<PropertyList>
<path>m6a.ac</path>
・
・
(中略)
・
・
<animation>
<type>select</type>
<object-name>propblur</object-name>
<condition>
<equals>
<property>sim/model/door-positions/bay/position-norm</property>
<value>0</value>
</equals>
</condition>
</animation>
</PropertyList>
●m6a.xmlの修正コピーでm6a-2.xmlを新規作成ー射出時のプロペラの回転
<?xml version="1.0" encoding="ISO-8859-1"?>
<PropertyList>
<path>m6a.ac</path>
<animation>
<!-- draw these first (in no particular order) -->
・
・
(中略)
・
・
<object-name>m6a-flotteursB</object-name>
<object-name>propblur</object-name>
<!-- draw this at last (order critical!) -->
・
・
(中略)
・
・
</animation>
<effect>
<inherits-from>Aircraft/Generic/Effects/Fuselagereflect</inherits-from>
・
・
(中略)
・
・
<object-name>propblur</object-name> ←Rembrandt対策
</effect>
・
・
(中略)
・
・
<animation>
<type>select</type>
<object-name>m6a-helice</object-name>
<condition>
<equals>
<property>sim/model/door-positions/bay/position-norm</property>
<value>1</value>
</equals>
</condition>
</animation>
<animation>
<type>select</type>
<object-name>propblur</object-name>
<condition>
<less-than>
<property>velocities/true-airspeed-kt</property> ←dummy
<value>1</value>
</less-than>
</condition>
</animation>
<animation>
<type>rotate</type>
<object-name>propblur</object-name>
<property>/sim/time/elapsed-sec</property>
<factor>20</factor> ←大きくすれば回転が大、小さくすれば小
<center>
<x-m> -4.44266 </x-m>
<y-m> 0.00000 </y-m>
<z-m> 0.22662 </z-m>
</center>
<axis>
<x> -1 </x>
<y> 0 </y>
<z> 0 </z>
</axis>
</animation>
</PropertyList>
●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>-->
<model>Aircraft/I-400/Models/Aichi-M6A/m6a-2.xml</model>
・
・
(中略)
・
・
</submodel>
</PropertyList>