いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

100日で50弾! Day 42/ Bullet21:ブレイザーショット

 100日チャレンジ『100日で50弾!』第21回、ブレイザーショットです。弾が火を噴きながら飛びます。gifをどうぞ。


 パーティクルでやっています。Bullet19のアクアスプレッダーと同様、パーティクルシステムは弾の子にします。こうしておくとパーティクルの再生の手間が要りません。やり方によるでしょうが、ぼくは火の写真を用意しました。円~楕円っぽくなるよう周りをペイントソフトのブラシで整形し、背景は透過にします(pngファイル)。唐揚げの写真の色をうまく変えて使ったこともあります。こうして作った画像をUnityで読み込み、マテリアルにセットします。パーティクルのRendererという項目の中にマテリアルをセットする場所があります。これでパーティクルが再生されるときにその画像が使われるようになります。写真の背景を透過させるのは、そうしないと四角い画像が表示されてしまって不自然だからです。例によってSimulation SpaceはWorldとします。これで火が弾の進行方向と逆向きに置いていかれる感じになり、火を後ろに噴いているように見えます。あとはランダムに回転させたり、パーティクルの再生時間など、あれこれ調整して上の動画のようになります。試しにSimulation SpaceをLocalにすると次の通り。

これはこれでアリ……ですね。他にも火の玉(墓場に現れそうな、あれ)みたいなものも作ってみたいですが、こちらはいずれ。
 ではBullet21はここまでです。