打ち上げ花火1─とにかくつくるAI花火 | virt_flyのブログ

virt_flyのブログ

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

イメージ 1

 しかたがありません。花火を作りたいと書いてしまったものだから、気持ちがどうにも作らずにはおれなくなりました。ballisticが今では使えないこともあって、打ち上げ花火の作成はかなり困難そうなのですが、挑戦することにしました。

【AI花火の作成が前提】
 さて、花火とはいっても、FlightGearの世界をより魅力あるものにするための脇役。主役じゃないので手の込んだものを作って、動作が重くなるのは避けなくてはなりません。ましてや花火の打ち上げのために、飛行機の操縦ができなくなるようでは本末転倒です。やはり花火は環境として、いつも勝手に打ち上がり大空に大輪の輪を描いてくれるようでなくてはなりません。そのためには、あくまでもAIシナリオで再現すべきと思われます。

【打ち上げ花火を空に置く方法】
 とりあえず誰でも思いつく範囲から始めてみます。花火を大空にレイアウトするのは、建物の配置やAI飛行機の駐機と同様の方法でできるはずです。

【花火は画像貼り付けで】
 花火に表や裏があるのか知りませんが、大体は球状と想像します。花火を3Dオブジェクトで立体的に構成しても面白いのですが、ここではあくまでも脇役ですから簡単に画像貼り付けで済ませたいところです。

【実際】
・テクスチュア hanabi.png
 3Dモデルに貼り付ける画像を用意します。ここではインターネット上で配布のフリー素材から得たイラストを画像処理ソフトにて背景を透明にし、png形式のファイルに変換しました。
・3Dモデル hanabi.ac
 平面的な画像を貼り付けるので、3Dモデルはもちろん平面です、3DモデリングソフトのBlenderにて、ありえそうな花火の大きさのPlaneをもうけ(名称はplane)、用意した画像ファイルをもとにテクスチュアの貼り付けを実行しました。
・3Dモデル用xmlファイル hanabi.xml
 下に例を示します。
・AIシナリオ ○○○.xml
 作成した花火を、目的の地形の上に配置するための、xmlファイル(略)。

<?xml version="1.0">

<PropertyList>
	<path>hanabi.ac</path>

		  <animation>
		    <type>material</type> 
                    <object-name>Plane</object-name>
		    <emission>	
		      <red>1</red>	
		      <green>1</green>	
		      <blue>1</blue>
		    </emission>
                    <texture>hanabi.png</texture>
		  </animation>

</PropertyList>

 画像は、作成した花火。イラストがイラストだけに平面的ですが、実際の花火は円形ではなく球形じゃないんでしょうか。どこから見ても立体的に見えるはずの花火が、今のままでは残念なことに移動し見る方向が変わると薄い板のように見えてしまいます。