
↑火を吹くooyodoの主砲
パーティクルシステムを使って艦砲射撃を再現
ちなみに砲塔の回転は、カタパルトでしたように<rotate>で、ただし<property>には/controls/flight/elevatorを借用して実現。砲身の上下は、3つ同時ですが、<property>に/controls/flight/flapsを使い、そのため3段階の切り替えになりましたが、キー操作で角度を変えることができます。
砲の発射については、自在に動く砲の向きに合わせ、任意の位置で行われてしかるべきなのですが、そこまでのスキルはないもので、右60°、高さ45°の固定位置でのみ発射の光と砲煙が出現されるにとどまります。
問題は、この光と煙の再現です。もちろんparticlesystemを使ったリアルな再現をめざします。
艦砲射撃の動画を見ると、砲身から前へと炎は伸びて行っているように見えます。
これを再現しようと思えば、ひとつは砲弾を発射するように砲から炎と煙を前へ打ち出すか、ロケット弾のように発射した砲弾に炎や煙をひかせるか、そのどちらかになろうかと思われます。
しかし、打ち出す方式では、最初にできて大きく広がった炎がただ前に押し出されてくることになり、しかも船体が前に進むに連れて炎の先端は取り残されてしまい、どんどんずれていくことになってしまいます。
それと比べれば、弾に炎をひかせるほうが、炎の先端に新たな炎が次々生まれてくる感じになり、現実にも合っているような気がします。
ただし、ロケット弾では発射の初速度が速いほど、発射を実行した後、パイロンの下に吊り下げられてあったロケットが、一旦消えてから次に姿を現すまでしばらく時間がかかり、しかも現れるのはかなり離れたところとなっていました。パソコンの能力にかかわるところもありますが、この方式だと、大砲を撃った後しばらくしてから離れたところに炎と砲煙が発生することになりかねません。初速度を遅くしても、砲弾がゆっくり飛んでいくということになったのではおかしなことになります。
第3の道が見つけられない現状では、前者を採用し、<life>を短くしてボロを目立たなくするしか、しかたがありません。
追記)
艦砲射撃の炎には、FlightGear用の機体ではミサイルがヒットしたときに放つまばゆい光が印象的なF-14Bのexplosionを真似させてもらいました。