【Unity】2Dシューティングを作ってみる話 #12
記事をご覧いただき、誠にありがとうございます。
投稿主の無能です。
前回は、敵の画像と弾を発射する処理を実装しました。
今回はオブジェクトが消える時に爆発するようなエフェクトを表示できるようにしていきます。
パーティクルシステムで爆発を表現する
今回はパーティクルシステムをと言うものを使って、爆発のような表現をしてみたいと思います。
パーティクルシステムって何?と言う方はドキュメントを参照してください。
パーティクルシステム - Unity Documentation
ドキュメントにも記載がある通り、実に様々な表現ができます。
今回は爆発の表現に使いたいと思います。
爆発がどうなっているか分解してみる
爆発の表現を作るとは言え、そもそも爆発がどういったものなのかを言い表せない事には、理解しているとは言い難いと思います。
ですので一度、爆発ってどうなっているのかな?という視点で考えてみたいと思います。
爆発と一言で言っても様々な形の爆発がありますが、今回は単純にドカーンと言うような爆発を考えてみます。
ドカーンとなった時に、そのエネルギーが全て燃え広がるような形になります。
ですので、ドカーンのタイミングが最も燃え広がると考えると、この時が一番エネルギーの光の環が広がります。
そしてドカーンのタイミングから光が消えるまで、急速に光の環が縮小していきます。
最後は何も無くなって、元の状態に戻ります。
ここから考えるに、最初が最高値で、後は0(収束)に向けて徐々に変化していく、という表現にしてあげると、正にドカーンが表現できるのではないかと思います。
早速やっていきましょう。
オブジェクトを作成してパーティクルシステムをアタッチする
先にプレイヤーの爆発を作ってみて、その後に敵の爆発を作りましょう。
まずは空のオブジェクトを作成し「Explosion_Player」という名前にします。
「Explosion_Player」という空のオブジェクトを作成する
そしてExplosion_PlayerにComponent >Effects >Particle System でパーティクルシステムを追加します。
Component >Effects >Particle System でパーティクルシステムを追加する
パーティクルシステムを追加するとエフェクトが再生され始めた
でもこのエフェクトがループして止まらないので、InspectorビューのLoopingのチェックを外してエフェクトのアニメーションが終了したら止まるようにします。
Loopingのチェックを外す
アニメーションが再生されたら停止した
パーティクルシステムを設定する
そもそもなんでショッキングピンクが表示されたのかと言うと、設定しているマテリアルが見付からない時に表示されたり、時にはシェーダーだったり、つまりグラフィック関連が原因で起こります。
良く起こるパターンとしては、アセットがURPに対応していない場合に、URPでインポートしたりすると起こります。
Unityに何らかの異常が発生したわけでは無く、Unityが正常に異常を教えてくれているのだと考えましょう。
まず表示させるものを設定します。
Inspectorビューを見ると、結構な数の設定項目がありますが、一番下のRendererを開きます。
デフォルトでRendererにチェックが入っています。
InspectorビューのRendererを開く
ここに表示するマテリアルを設定します。
Renderer内のMaterialで表示するマテリアルを設定する
オブジェクト選択画面でDefault-Particleを選択する
Sceneビューにあるパーティクルの操作パネルでPlayを押して再生
一番上にあるParticle Systemの直下の項目では、パーティクルの基本設定ができます。
パーティクルの基本設定部分
この項目は後で調整してみてください。
Durationを1にする
次にStart LifetimeとStart Speedを両方1にします。
Start LifetimeとStart Speedを両方1にする
次にMax Particleを1にします。
Max Particleを1にする
そしてStop ActionをDestroyにします。
これでアニメーションが終了したパーティクルは自動的に破棄されるようになります。
Stop SctionをDestroyにする
この調子でいきましょう。
次のBurstsに項目を追加します。
次のEmissionの項目に移ります。
Emissionを開いて、Rate over Timeを1にします。
Rate over Timeを1にする
Burstsに項目を追加する
Countを1にする
一度グラフをクリックしておきます。
…が、変化しません。
これは分かり辛い事に、Inspectorビューの一番下に折りたたまれています。
Inspectorビューの一番下に折りたたまれている
このParticle System Curvesをクリックすると変更できるようになります。
Particle System Curvesをクリックすると変更できるようになる
手動で設定しても問題無いのですが、ここは始まりが最大で終わりが最小のカーブを選択します。
始まりが最大で終わりが最小のカーブを選択する
Sceneビューのパーティクルの操作パネルでPlayを押して再生します。
すると大分爆発に近くなりました。
パーティクルの状態を確認
あとは大きさを変えてやれば爆発に見えますね。
ではパーティクルの基本設定項目のStart Sizeを大きくして、確認のためにチェックしていたLoopingのチェックを外します。
今回はStart Sizeを5にしてみます。
Start Sizeを5にする
パーティクルの状態を確認
次回は、この爆発エフェクトをプレイヤーと敵に設定していきます。
では、また次回!



























コメント
コメントを投稿