実際に使えそうなエフェクトを作成していきます。
今回の記事は前回「パーティクルシステムでエフェクトを作成する1」の内容を理解していることを前提としていますので、まだ読んでいない方は先に読んでからこの記事を読んでください。
ハートがぽわ〜ん
実用性の高いエフェクトかつ簡単なエフェクトとしてハートがぽわ〜んとなるエフェクトを作ってみます。
先日私が12時間ほどで作成したゲーム「ねらって!バニーちゃん!」で作成したエフェクトとしてハートがぽわ〜んとなるエフェクトです。

↑こんなの
ハート以外でも星マークにしてみたりすればキラキラなエフェクトになるかと思います。
どんなエフェクトなのか考える
実際にゲームをプレイしてもらえるとわかると思いますが、エフェクトが生成されると素早くハートが広がりその後、ハートが小さくなって消えていきます。
中心部には大きなハートが1つ出て消えて行きます。
このエフェクトの要素を列挙すると
1.ブワッと広がる
2.小さくなって消える
3.中心に大きなのが1つ出る
4.ハートのエフェクト
の要素があるかと思います。1つ1つの要素に分けて考えれば作りやすくなります。
1.ブワッと広がる
ぶわっと素早く広がって広がった先で留まる部分を作って行きましょう。
GameObject->CreateOther->ParticleSystemを選択しParticleSystemを作成しましょう。
新規にParticleSystemを作成すると上方向に白いフワフワが上がっていくと思います。
球状にエフェクトを生成する場合はShapeモジュールのShapeをSphereに変更すると球状に広がるようになります。

Shapeモジュールではエフェクトの生成する場所の形状を変更することができます。
最初はConeが設定されているので中心から上方向にエフェクトが生成されていますがSphereに変更することで球状に生成できるようになります。
次にパーティクルの生成されるスピードを調整して上げる必要があります。
今の状態だとパーティクルが一辺に生成されずに1つづつ生成されています、コレを一気に大量にエフェクトが生成されるよう調整しましょう。

調整する箇所としてはMaxParticlesとEmissionモジュールのRateの値を変更します。
MaxParticlesを100に変更してください。
MaxParticlesの値を変更すると一度に画面内に生成されるパーティクルの最大数を変更することができます。
EmissionモジュールのRateを1000に変更しましょう。
EmissionモジュールのRateは1秒辺りに生成されるパーティクルの数を変更することができます。
RateのTimeをDistanceに変更するとエフェクトの移動量に応じてエフェクトを生成することができます。
Distanceに変更する場合はSimulationSpaceがWorldになっている必要があります。
MaxParticlesとEmissionモジュールのRateの値を変更することでブワッと一気にパーティクルが生成されるようになりました。
次にパーティクルが一気に広がって減速していく様にしていきます。

Limit Velocity over LifetimeのSpeedをCurveに変更しカーブを画像の様に変更しましょう。
また、Particle System Curvesの左上の値を10に変更しましょう。
するとはじめは素早く広がり、後半はゆっくり広がるエフェクトになりました。
2.小さくなって消える
次にパーティクルが後半で小さくなって消えていくように変更します。

Size over Lifetimeのモジュールにチェックを入れ、カーブを画像の様に編集しましょう。
するとパーティクルの動きがゆっくりになったあたりで小さくなって消えていくようになると思います。
3.中心に大きなのが1つ出る
中心部分に出る大きなパーティクルを作成しましょう。
これは今までと異なるエフェクトになりますので、ひとつのパーティクルだけでは実現出来ません。
新規にParticleSystemを作成し、Hierarchyパネルでさきほどまで作成していたParticleSystemにドラッグドロップしましょう。

親子関係を設定し1つにまとめることで1つのエフェクトとして扱うことができますね。
次に1つだけ中心に生成されるように設定しましょう。

編集する箇所は3箇所です。
・StartSpeedを0に設定
・Max Particlesを1に設定
・Shapeモジュールのチェックを外す
スピードを0、MaxParticlesを1に設定することで動かないパーティクルを1つ生成するようにします。
Shapeモジュールを無効化することでパーティクルを生成する座標を中心のみにすることができます。
次にパーティクルのサイズが大きくなってから小さくなるようにしましょう。
Size over Lifetimeモジュールのチェックを有効にし、カーブを以下の様に編集しましょう。
そしてParticleSystemCurvesの左上の数値を5に変更しておきましょう。

すると中心のエフェクトが小→大→小と変化するようになるかと思います。
4.ハートのエフェクト
いままで作ってきたエフェクトは白いモワモワのパーティクルでしたが、ハートのパーティクルになるよう変更していきます。
パーティクルのテクスチャとなるハートの画像を用意しましょう。
めんどうな方は↓の画像をご利用ください。

画像を用意したらエクスプローラからProjectパネルにドラッグドロップすればUnityに画像を取り込むことができます。
(あるいはProjectパネルを右クリック->ImportNewAssetを選択し画像ファイルを選択してもOKです。)
つぎにマテリアルを作成してください。
プロジェクトパネルを右クリック -> Create -> Material を選択しマテリアルを新規作成し、名前は適当にHeartEffetとかつけておいてください。

こんな状態。
つぎに作成したマテリアルを編集しましょう。
作成したマテリアルを選択しInspectorパネルで設定を変更しましょう。

以下の手順です。
・Textureの右下を選択し、ハートの画像を選択しましょう。
・次にShaderを選択しUnlit -> Transparentを選択しましょう。
Shaderはマテリアルの描画方法を決定する部分です。
今回選択したUnlitは光源の影響の受けないShaderです。
Transparentはテクスチャのアルファ(透明部分)をマテリアルに反映します。
つぎにパーティクルに作成したマテリアルを反映させましょう。
今まで作成していたParticleSystem2つにそれぞれ、Rendererモジュールを選択しMaterial項目に先ほど作成したHeartEffectマテリアルを設定しましょう。

良い感じにハートが表示されましたでしょうか?

2、3個エフェクトの作り方を解説しようと思っていたのですが、意外と長くなってしまいましたので今回はここまでです。
後々気が向いたら違うエフェクトの作り方についても説明していきます。
今回は以上です。
<<他の記事を読む
[スポンサードリンク]