Unityエフェクト3分クッキング-滝の表現

124
66
46

ICS MEDIAではUnity 5.5 (2016年11月30日リリース)の目玉の1つであるパーティクルシステムの新機能に注目し、新機能をふんだんに使ったエフェクトの作り方を解説します。普段Unityに触れない方でも、エフェクトの作り方を通して3DCG制作やWebGL開発のヒントにしていただければ嬉しいです。

今回のお題:滝の表現


サンプルファイルをダウンロードして、記事と照らし合わせながら進められます。各エフェクトのパラメーター設定値などはサンプルファイルを直接ご覧ください。

今回紹介するテクニック

  1. [Trails(軌跡)]モジュールを使ったリボンの表現
  2. [Shape(シェイプ)]モジュールを使った滝の表現
  3. [Sub Emitters(子要素)]モジュールを使った水しぶきの表現
  4. [Noise(ノイズ)]モジュールを使った揺らぎの表現

サンプルファイルのダウンロード

Trails(軌跡)モジュールを使ったリボンの表現

Unity 5.5で追加された新機能[Trails(軌跡)]モジュールを使うとパーティクルの粒子に軌跡(リボン)を付けられます。

リボンの作り方

たとえば噴水の粒子の動きをパーティクルで作った後、[Trails(軌跡)]モジュールを追加すると、粒子の移動曲線に沿ったリボンを簡単に作成できます。

  1. まずはヒエラルキーウィンドウでParticle System(パーティクルシステム)を作成します。
  2. 次にインスペクターの[Trails(軌跡)]モジュールをONにします。 ※この時点でパーティクルに軌跡が追加されます。
  3. 最後に[Renderer(レンダラー)]モジュール[Trail Material(軌跡のマテリアル)]に、お好みのリボンのマテリアルを設定すれば完成です。

リボン作りのヒント

  • リボンの長さは[Trails(軌跡)]モジュール[Lifetime(生存時間)]の値で設定しよう。
  • リボンの太さは[Trails(軌跡)]モジュール[Width over Trail(軌跡の幅)]の値で設定しよう。
  • リボンの太さを先細りさせたいときは、[Width over Trail(軌跡の幅)]からパラメーター曲線を調整しよう。ディテールアップにオススメ。
  • リボンの曲線を滑らかにしたいときは、[Trails(軌跡)]モジュール[Minimun Vertex Distance(最小頂点距離)]の値を小さくしよう。
    ※リボンを構成する頂点の距離が短くなるため
  • マテリアルの[Tiling(タイリング)]プロパティを調整して、リボンの模様に変化を付けよう。

Shape(シェイプ)モジュールによる滝の表現

滝の作り方

[Shape(シェイプ)]モジュールを使い、滝に見えるようにパーティクルの放出位置を調整します。 このモジュールを利用すると、球体や立方体、さらには特定のメッシュ形状(3Dモデル)からパーティクルを放出できます。

  1. リボンのParticle Systemを選択し、[Shape(シェイプ)]モジュール[Shape]プロパティ[Edge(エッジ)]に切り替えます。
  2. パーティクルが一方向に噴出されるので、角度を調整します。
  3. [Renderer(レンダラー)]モジュールで水のマテリアルを設定します。
  4. 水マテリアルのShaderを[Particle/Additive(Soft) 加算効果]に設定します。

Sub Emitters(子要素)モジュールを使った水しぶきの表現

リボンを使った滝の動きができたところで、次に水しぶきの表現を追加します。今回は[Sub Emitters(子要素)]モジュールを使ってみましょう。

水しぶきの作り方

リボンの子要素として水しぶきを設定し、滝のところどころで水しぶきが吹き上がる表現を作成します。

  1. ヒエラルキーウィンドウでParticle System(パーティクルシステム)を作成します。このパーティクルが水しぶきの一塊(20粒程度のパーティクル)となります。
  2. 水しぶきの一塊をイメージしながら動きを調整します。
  3. 先ほど作成したリボンのパーティクルを選択し、[Sub Emitters(子要素)]モジュールに水しぶきのパーティクルを設定します。これにより親子関係が設定され、滝の各所から水しぶきが吹き上がる表現となります。

水しぶき作りのヒント

  • 粒子の大きさにばらつきを持たせてリアリティを出そう。
  • 粒子が移動する動きを早めたいときは、パーティクルシステムの[Simulation Speed(シミュレーションスピード)]の値を上げて調整しよう。
  • 粒子が消失する動きは、パーティクルシステムの[Size over Lifetime(生存時のサイズ変化)]モジュールで設定しよう。※透明度を操作するより、大きさを変える方がパフォーマンスにも優しい。

Noise(ノイズ)モジュールを使った揺らぎの表現

[Noise(ノイズ)]モジュールを使うとパーティクルの動きに揺らぎを加えられます。今回はリボンの曲線に揺らぎをつけてみましょう。水独特のなめらかな質感を加えられます。

揺らぎの作り方

揺らぎのつけ方は、[Noise(ノイズ)]モジュールをONにするだけ。いたって簡単です。

  1. 作成した滝のParticle Systemを選択し、インスペクターから[Noise(ノイズ)]モジュールをONにします。
  2. ノイズの各パラメーターを調整してお好みのノイズを作成します。

揺らぎ作りのヒント

ノイズを加える際、まずは[Strength(強度)]と[Frequency(振動数)]のパラメーターを調整すると良いでしょう。

  • 揺らぎの大まかな形状は、[Strength(強度)]パラメーターで調整しよう。
  • 揺らぎを細かくしたいときは、[Frequency(振動数)]パラメーターを大きくしよう。
  • 揺らぎを特定の方向に絞りたいときは、[Separate Axes(XYZ軸別に調整)]のチェックをONにした後、各軸の値を0にするとその方向へのノイズは適用されません。値を強くするとノイズが強まります。

[Strength(強度)]と[Frequency(振動数)]を変えるとさまざまなノイズを作成できます。

終わりに

Unity公式サイトのロードマップ」によると、次回アップデート(2017年3月 Unity 5.6)でもパーティクルシステムの改善が予定され、今後の発展が期待できます。
ICS MEDIAではUnityを使ったエフェクト作成の記事を連載していく予定です。ぜひお楽しみに。

参考サイト

エフェクト作成入門講座 (バックナンバー)

※この記事が公開されたのは2年9ヶ月前ですが、 平成31年2月19日に内容をメンテナンスしています。