「戦艦決闘空間」をUnityで創った話(4)
このアプリは自分の最初のUnityで創ったスマホ向けアプリです。そのためアセットストアをまだうまく活用できていませんでした。爆発や炎や煙、水柱等をひとつひとつパーティクル機能を使って自作しています。今回はこのパーティクル機能について紹介させて頂きます。
パーティクルによる演出効果について
リアルタイムシュミレーション世界を構築する上でパーティクルは大変重要な機能ですが、このアプリで使ったパーティクル処理は、ネット先生に教えてもらいながらひとつひとつ自作しています。
パーティクルシステムとしてはshurikenを使っています。ネット上にも日本語でわかりやすく説明してくれるサイト(つまりネット先生)がたくさんありますが、その中で紹介されていたのが、無料の爆発パーティクルエフェクトであるDetonator Explosionです。
最初に戦艦を3D空間で航行させたときに、飛行機が飛んできて爆弾を落として爆発するという処理を”Detonator Explosion”を使って創ったことを思い出します。その時に発生する音を含めた爆発エフェクトがすばらしくて見入ってしまったことを思い出します。
このアセットの中を見ながらパーティクルシステムを少しずつ理解しながら最終的には自分自身でパーティクル処理を創りこんでいきました。といっても全て教科書レベルの簡単なパーティクル処理ですけど。
「戦艦決闘空間」内のパーティクル処理の実際
何度も出てきてすみませんが、下記のアプリ紹介ビデオの中に、全てのパーティクル処理の実際の動作が示されています。
①10秒付近の主砲発射の弾幕パーティクル
②21秒付近の砲弾が海面に落ちた際の水柱パーティクル
③22秒付近で砲弾が敵戦艦に命中したときの爆発パーティクル
④27秒付近で大損害を受けた戦艦が燃えているパーティクル
⑤28秒付近で戦艦大和の船首波と航跡パーティクル(ちょっと手抜きですけどね)
幾つか中心となるテクスチャをPhotoshopで創りました。爆発に関しては目標としているイメージである東宝特撮映画等の爆発シーンの炎と煙の色とかを参考にしながら、半透明の円形のテクスチャを作って使っています。下記の図は例です。真っ白になって見えなくなってしまったのでバックグラウンドに黒色を追加していますが、通常は透明なバックに対して半透明のテクスチャを作成し、png形式で透過情報を含めてセーブしています。
見映えの良いパーティクル処理の創り方
上記ビデオで紹介させて頂いた各パーティクル処理は自分の最初のパーティクル作品ですが、それから2年程度経過した今でもほとんどそのまま使っています。処理が軽くて出来栄えもそこそこと思っているからです。
パーティクルの創りこみは、各種パラメータを調整していくことで、リアルになるように創りこんでいきます。見映え良く創るためには下記がポイントではないでしょうか。
①シンプルなパーティクル処理とする:
複雑なものに良いものはありません。Unity世界の場合には特にそうではないでしょうか。幸いにも最初にシンプルな中で良い効果のものを創ることができたので、その後も継続して使うことができています。これには感謝しております。
②パーティクル発生速度の制御:
宮崎駿巨匠のテレビドキュメンタリーの中で毛虫の動きのアニメーションを若い人に教えるシーンがありましたが、その動きとためのデフォルメを含めたバランスが重要なのでしょうね。自分的には東宝特撮を見ながら創りこんだわけですが、結果としてまあ使えるレベルになったと考えています。
特に爆発映像の最初の爆発開始の放出スピードと、その後の炎+爆炎の広がりの速度制御がポイントではないでしょうか。いろいろと試行錯誤した記憶があります。
③パーティクルの色とサイズと回転の時間的変化
これも爆発処理の部分ですが、最初の爆発に続く炎+爆炎の広がり方とその色の変化が重要となります。パーティクル毎のサイズと色と回転角度をランダム要素を加えて変化させていくことが重要となります。特にパーティクル寿命を個々に少しずつ変える設定にする中で、パーティクル寿命終了時の前に完全に透明になるようにフェードアウト処理することは必須と思います。
一度爆発処理パーティクルを創りこんだら、そのパーティクルシステムを若干変更するだけど、損害時爆炎処理やその他の処理を簡単に創れるようになりました。
最後に
Unityのパーティクル処理は良くできていて、大変使いやすいと思います。何かアプリを作っているときに、ある種のパーティクル効果が欲しいと思うときがありますが、基本的なものであれば簡単に創れるというように思っています。出来はちょっと不足かも知れませんが、アプリ全体を構成することを考えると、パーティクルで最低限のことを実現できることは重要と感じております。
その基本を理解し活用できるようになった後で、アセットストアにある多くのすぐれたパーティクルシステムエフェクトを使うととても良い成果が得られると思います。
以上
下記の「航空母艦決闘空間」でも自作パーティクル処理を展開多用していますので、必要に応じて参照願います。空母の爆発等のパーティクルはすべて最初に創った自作爆発パーティクルです。