Unity不定期便

Unityエンジンを使って、いろいろ勉強したことをメモ代わりにまとめてます。

Unity4のパーティクルシステム(Particle)を1日で自在に操るコツ!【前編】

f:id:masatolan:20140103210105j:plain

 Unityに搭載されている「パーティクルシステム(Particle)」は、煙や炎、竜巻や水流に爆発などなど…。ゲームに必要なちょっとした演出を手軽に作れます。

高度なシステムのため、複雑だなぁ〜と思う人もいるかと思うので、簡単に扱えるようになる「コツ」みたいなものをメモ代わりにまとめておきます。

 

まずは、パーティクルシステムを起動する! 

とりあえず、説明のためにパーティクルシステムを起動してみます。

やり方はいろいろありますが、今回は「空のゲームオブジェクト」にパーティクルシステムを貼り付けたいと思います。

 

そこで、まずは「Create Empty」でヒエラルキーに空のゲームオブジェクトを作成します。

f:id:masatolan:20140103224743j:plain

 

そして、「Add Component」→「Effects」→「Particle System」で、パーティクルシステムを貼り付けます

f:id:masatolan:20140103224753j:plain

 

すると、シーンビューにパーティクルが生成されたのが分かります。

f:id:masatolan:20140103224801j:plain

初期状態だと、上記画像のような感じのパーティクルが生成されていると思います。

 

そして、貼り付けられたパーティクルシステムはこんな感じ。

f:id:masatolan:20140103224808j:plain

いろいろなパラメータがあり過ぎて、何をどうしたらいいのか…意味不明で、ここで挫折する人もいるくらいです。

でも、見方を少し変えるだけで、かなりスッキリしますのでご紹介します。

 

パーティクルシステムで重要な3要素! 

先ほど、たくさんのパラメータを見ましたが、もう一度よ~く見てみましょう。

すると、4つの要素が最初から選択状態になっているのが分かります。実は、この要素が非常に重要で、それ以外は機能強化のためのオプションみたいに捉えると良いかと…。

f:id:masatolan:20140103230435j:plain

このうち、④の「Renderer」は、大雑把に言うとパーティクルを画面に描画するための要素で、チェックを外すと表示されない…というもの。(正確には、パーティクルは噴射されているが表示されていない状態)

なので、今のところはパーティクルシステムを使うのであれば、とりあえずチェックを入れておく!と覚えておくだけでOKです。

 

で…本題ですが、パーティクルシステムで最も重要な要素としては…、

①基本設定

②Emission

③Shape

の3つになります。

言い方を変えると、この3つの要素を理解しておくだけで、かなり自在にパーティクルシステムを扱えるようになります。

 

パーティクルシステムは何をやっているのか?

重要な3要素を説明する前に、パーティクルシステムが一体何をやっていて、どのように動いているのか?を、サクッとおさらいしておきます。

 

かなり…乱暴な言い方をすると、

「一粒の粒子を生成して、その粒子を何百・何千も表示できるシステム」

と言ったところでしょうか…。

f:id:masatolan:20140103231411j:plain

 

非常に小さな一粒の粒子を、大量に表示させることが出来るので、液体や気体を表現したり、炎や雨なども作りだすことが出来るわけです。

f:id:masatolan:20140103233954j:plain

逆に、少量だけ表示させることで、ホタルの群れを表現したり、花火を演出したりも可能です。 

 

「基本3要素」の役割分担を知る!

 さて、システムの大枠をおさらいしたところで、基本となる重要な3要素をご紹介してみます。

 

まずは「①基本設定」から。

f:id:masatolan:20140104000529j:plain

ここでの役割を大雑把に言うと、

1つずつの粒子がどんな性質なのか?

を設定する要素です。

なので、ここの設定をいじる時は、一粒だけの粒子をイメージして操作すると良いでしょう。

 

以下、よく使うパラメータのみピックアップして説明しておきます。

Duration

何秒間隔に粒子1つを生成するか?を設定します。

例えば、5.0と入力すると「5秒間隔」に粒子が生成されることになります。

 

Start Lifetime

生成された粒子が何秒後に消滅するか?を設定します。

 例えば、5と入力すると「5秒後」に粒子が消滅することになります。

 

Start Speed

 粒子の動く速度を設定します。

数値が大きくなるほど、速く動くことになります。

 

Start Size

粒子の大きさを設定します。

数値が大きくなるほど、どんどん大きな粒子になります。

 

Start Color

粒子の色合いを設定します。(透明度も設定可能)

 

Gravity Multiplier

粒子に重力を設定します。

重力を設定することで、ゲーム中にどのような角度でパーティクルが出現しても、一定の方向へ流れるようになります。

プラスに数値が大きくなるに連れて、ゲーム中の地面に向かって強く流れるようになります。(マイナスにすれば、空へ向かって流れていきます)

 

Max Particles

ゲーム中に表示出来る粒子の最大数を設定します。

つまり、ここで入力した数値以上の数量となる粒子は、表示できないということになります。

 

次に「②Emission」です。

f:id:masatolan:20140104000537j:plain

ここでの役割は…、

生成された粒子の噴射方法を設定する!」 

ということです。 

一気に大量の粒子を噴射させるのか、少しずつ噴射させていくのか…などは、この要素で決めることができます。

 

以下、よく使うパラメータを解説しておきます。

Rate 】 

 どのくらいの間隔で、何個の粒子を噴射させるのか?を設定します。

「Time」を指定しておけば、1秒間隔で何個の粒子を噴射するか?

「Distance」の場合は、1m間隔で何個の粒子を噴射するか?

ということになります。

 

Bursts

 一気に噴射させる設定です。

+アイコンをクリックすることで、要素を追加できます。例えば、100と入力すれば一気に100個の粒子が噴射されます。

 

 最後に「③Shape」です。

f:id:masatolan:20140104000542j:plain

ここでの役割は…、

どのような形状に噴射されるかの設定!」 

という感じでしょうか。

球状に爆発するような噴射なのか、一定方向だけに噴射されるのか…など。

 

以下、よく使うパラメータの説明です。

Shape

噴射の形状を指定します。

f:id:masatolan:20140104120837j:plain

パーティクルシステムを貼り付けたゲームオブジェクトの角度などを変更しても、噴射方向は変化します。 

 

Angle(角度)/Radius(半径)

噴射の形状によって、角度や半径を指定して細かく調整できます。

 

Random Direction

噴射ポイントをランダム に変化させる。

  

 

基本となる3要素は、こんな感じです。

まとめると、「①基本設定」で粒子の性質を決めて、「②Emission」でどのくらいの量を噴射させるか設定し、「③Shape」でどういう形状に噴射させるかを決める!という感じで作っていきます。

これだけでも、かなりいろいろなパーティクルを演出することが出来ます。

 

ちょっと長くなってきたので、続きは「後編」へ…!

Unity4のパーティクルシステム(Particle)を1日で自在に操るコツ!【後編】 - Unity不定期便

 

後編では、実際にパラメータを設定しながら、いろんなパーティクルを作っていきます。3要素以外のパラメータも少し触れるつもりです。

 

 Unity「パーティクルシステム」の解説が載っている書籍
Unity4入門   最新開発環境による簡単3Dゲーム製作

Unity4入門 最新開発環境による簡単3Dゲーム製作