アトリエ・エクレア

2DCG&3DCG, プログラミング, 日記などを掲載してます。

Unity エフェクト作成

Unity エフェクト作成



<エフェクト作成の基本的な流れ>

(1) テクスチャを用意する。
・テクスチャのサイズは2の乗数が無難。
・128、256、512、1024、2048など。
(2) Materialを作成する。 → 用意しておいたテクスチャを割り当てる。
・Shaderは、単純に半透明にするだけの場合、Mobile/Particles/Alpha Blended が良さげ。
・Shaderは、輝いた感じにしたい場合、Mobile/Particles/Additive が良さげ。
(3) Particle Systemを作成する。→ RendererモジュールのMaterial項目に、作成したMaterialを割り当てる。
(4) Emptyゲームオブジェクトを作成する。→ 作成したParticle Systemを子にする。※必須では無い。
(5) 各Particle Systemの、各モジュールのプロパティを調整する。
(6) もしも、同一シーン内に、Particle Systemが複数ある場合、Sorting Fudge を調整する。
・Particle SystemのRendererモジュールに、Sorting Fudgeプロパティがある。
(7) もしも、パーティクルサイズが適切に表示されない場合、Max Particle Size を調整する。
・Particle SystemのRendererモジュールに、Max Particle Sizeプロパティがある。



<Particle System>

・パーティクルは、デフォルトでは、ローカルZ軸方向に、発生する。方向を変えたい場合は、回転させる。
※エディタ上部にて、ツールハンドルを、GlobalからLocalに切り替えておくとわかりやすい。
・必ずSorting Fudgeは考慮すること(値が大きいほど奥に描画)
・Shapeのチェックを外すと、1点からの放射になる。
・雨や煙などエフェクトにおいて、射出方向に対しての垂直方向にばらつかせたい場合は、Velocity over lifetimeにランダム値を持たせると良い。
・Mainモジュールと、デフォルトでチェックが入っているモジュール(Emission, Shape, Renderer)は特に重要。
Rendererモジュールで、マテリアルをセットする。
・プロパティによっては、右側に三角マークがあり、クリックすることで、値の設定方法を変更できる。
プロパティによって、選択可能な設定方法は異なる。
Curveは、カーブ編集によってグラフィカルに値を設定できる。
Random Between Two Constantsは、2つの定数を指定することで、間の値をランダムに指定できる。
・大きなパーティクルを扱う場合、Rendererモジュールの Max Particle Size を大きくする必要がある。
※サイズを大きくしようとしても、どうしても大きくならない場合は、このプロパティを見直すこと。
※Max Particle Size : ピューポートに対しての最大パーティクルサイズであり、割合で示す。
1でピューポート全体。0.5でピューポートの半分のサイズを意味する。
→ 画面の半分以下のサイズなら0.5、画面全体にかかりそうなサイズなら1、画面より大きいサイズなら1より大きくしとけば良さげ。



<Particle System 詳細>

<Rendererモジュール>

Render Mode
・Billboard :常にカメラを向く板ポリ ※基本的に正方形。
※MainモジュールのStart Speedプロパティが、0でも表示される。
・Stretched Billboard :形状をストレッチさせた板ポリ ※長方形(線状も含む)にしたいときに使う。
※MainモジュールのStart Speedプロパティ、または、Velocity over LifetimeモジュールのXYZいずれかにおいて、
0以外の値(正負の値)にしないと表示されないっぽい。→ 速度が必要っぽい。
・Mesh :3Dオブジェクトをパーティクルにする

Sorting Fudge
・パーティクル間の描画順序をコントロールするパラメーター。
値が大きいものほど奥に描画される。(=値が小さいものほど手前に描画される。)
・マテリアルのShaderにて、Alpha Blendedを使用の場合、描画順を考慮する必要がある。
※もしも、Additiveどうし(いずれのマテリアルもAdditive)の場合は、値を変更しても見かけ上は変わらない。

<Emissionモジュール>
Burstsプロパティ
・指定時間に、指定量のパーティクルを射出できる。
・当たり前だが、Durationを超える時間は指定できない。
※指定しようとすると、Durationと同じ時間に、自動的に修正される。
・Durationと同じ時間を指定し、尚且つ、LoopingがOFFの場合、射出されないので注意。※LoopingがONの場合は、射出される。









コメントの投稿

非公開コメント

マイブログへようこそ♪
PLEASANT_DRAGON

2DCG&3DCG,プログラミング,
日記などを掲載中☆

(*´▽`*)コメント大歓迎です☆

最新記事
記事一覧

全ての記事を表示する

カテゴリ
SAI (0)
mi (2)
C (1)
C++ (1)
C# (0)
VBA (0)
月別アーカイブ
最新コメント
RSSリンクの表示
リンク
FC2ブログランキング

FC2Blog Ranking

ピックアップ商品1♪










カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
ブログ内検索フォーム
プロフィール

エクレア

Author:エクレア


  • 2DCG&3DCGの創作活動をしています。

  • SF系のメカが大好物。

アクセスカウンター
Twitter
ピックアップ商品2♪