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

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

Unityでパーティクルを使ってシールドを表現する

2Dシューティングゲームで、例によってシールド(敵の弾を防ぐバリア)を考えていました。いかにも「シールド!!」という感じにしたくて、最初は丸い球のα値を変化させ、主人公を囲っていました。こんな感じ。

明るさが揺らぐようにしているので、写真よりはマシに見えています。それでも「もっと何とかならないものか……」と。

別の目的でUnityのパーティクルを調べていて、分かりやすい解説をしているサイトがありました。スバラシイ!

note.com

「えー、パーティクルって爆発シーン用なんじゃないの?」と思っていたら、いや、これはいろいろ使えそうです。前、3Dシューティングゲームを書いていたとき、パーティクルを使った爆発の描画アセットを入れたことがありました。リアルなんだけれど、あっちでもこっちでも爆発が起こるととたんにFPSが下がってゲーム全体の動きがギクシャクしてしまっていました。仕方なく、そのときは代わりに爆発シーンにはアニメーションを使いました。それ以来なんとなくパーティクルは避けていたんですが、すごい!! サイトの説明に従ってやってみると……これです!!

「モヤッ」とした様子、光り具合、イメージ通りのシールドです。宇宙戦艦ヤマトの「波動防壁」っぽい感じ。こうしてきれいに作るには適切なマテリアルが必要です。サイトの解説に従い、こちらを使わせていただきました。

AzCt Laboratory: » Material Top (利用規約)

他にも面白いエフェクトが作れそうです。この機会にいろいろ試してみます。