Fireworks(打ち上げ花火)を改良 | virt_flyのブログ

virt_flyのブログ

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

イメージ 1

Fireworksがv.2に! 花火の種類も増やしました
   打ち上げ花火をせっかく改良したのに、パソコンが壊れてしまい(クリーンインストールもできない)、しかたなく今一度作り直していたら、今度はその旧型パソコンまで液晶画面が点いたり消えたりしだし、ヤバい状況です。あわててできたFireworks2をダウンロードのページにアップロードしたところです。

 Fireworksをもともとつくったのは、 FlightGearの世界を少しでも豊にしたいと、そして日本人なら大空に大輪の花を咲かせる打ち上げ花火がほしいところと思ったからでした。

 パラパラ漫画の要領で、花火が打ち上がり開く様子を連続写真(といっても2~3枚)にして順番に表示を切り替えることで、打ち上げ花火を再現した簡易花火です。

 リアルさのために実写を用いているのですが、問題となるのは、写真は平面であり、実際の花火は立体、球体であること。でも、Fireworksでは、xmlファイル中に<spherical type="bool">を記述することで、平面に貼り付けた写真が、どの方向から見ても常に正面を向いて見えるように、擬似的に立体に見せかけることができます。

 しかし、シュルシュルと打ち上げられる花火玉が尾を引いている様子も、残像を3Dオブジェクトで再現することにしたため、垂直であるべき尾が、先の<spherical type="bool">のために、上空から見た場合は横倒しになって見えてしまうのです。

 いたしかたなく、<spherical type="bool">をfalseにしましたので、横から見る限りは花火はいつも正面から見えるのですが、上空から見ると薄い平面であることがまるわかり。そこが、従来のFireworksの不満な点でした。

 今回、Fireworksをもとに「くじら」を作成したのを機に、思い切って改良を試みることにしました。

 思えば、花火を表現する平面と尾を表す立体物を、何も一つの3Dモデルにしておかなくとも、sphericalの効果を使うか使わないかで別々にしておき、2つを同期させて必要なときだけ表示させるようにすれば、問題は回避できそうです。

 その際、同期をとるためには、それぞれ相手が表示されるべき時、自身を非表示時にする必要がありますから、その分を見えない(見えにくくした?)ダミーを使って時間稼ぎすることにします。他に思いつかなかったもので。

 もともとがつたない簡易花火ですから出来はしれてますが、先の不満は解消することができしました。ことのついでに、花火の種類もふやしました。今日の花火が色、形とも千差万別なのに対し、あまり代り映えしないのはお許しください。いつの日かまた挑戦したいと思います。

   画像はFireworks v.2のスクリーンショットです。一番左の花火だけが傾き、平面的に見えるのは、比較のためにそれだけは<spherical type="bool">をfalseにしておいためです。
  スクリーンセーバーで有名なSkyrocketにはとても及びませんが、上空からの花火鑑賞をぜひお楽しみください。ダウンロードのページから入手できます。