TopDownEngine薬莢PatricleSystem調査7/7

前回は、Unity の Particle System でパーティクルの衝突について設定する Collision モジュールについてサンプルとの差分を中心に比較して、飛び出した薬きょうが壁にぶつかると跳ね返ってくる動作を行う設定について紹介しました。
そのための障害物の設置の例も説明しました。

※サンプルは、見下ろし型ゲームの作成支援アセット「TopDown Engine」のサンプル KoalaRifle の Shells ゲームオブジェクトの設定を参考にしています。

前回の記事:TopDownEngine薬莢PatricleSystem調査6/7 | Compota-Soft-Press

Unity Particle System Collision モジュールの有効化と設定の前後の、パーティクルの動きの比較.

今回は、Unity の Particle System コンポーネントのうち、TopDown Engine のサンプル KoalaRifle の Shells で変更されていた Renderer モジュールの既定値とサンプルの値との差分を調べ、パーティクルと他の画像との前後関係の設定について紹介します。
※ Unity のバージョン 2021.3.25f1、 TopDown Engine のバージョンは 3.2 です。

前回までの結果

前回 Collision モジュールを設定したことで、飛び出した薬きょう画像のパーティクルが、指定されたレイヤーの障害物にぶつかるとすり抜けるのではなく、跳ね返るようになりました。

Renderer モジュール

このモジュールの公式サイトの説明を引用します。

Renderer モジュールの設定で、パーティクルの画像や メッシュ がどのように他のパーティクルによって変形、シェード、上書きされるかを決定します。

Renderer モジュール – Unity マニュアル
Unity Particle System コンポーネントの既定値とShellsの値の比較 Rendererモジュール

以前に銃の画像を差し替えるために Renderer モジュールの Renderer Mode, Normal Direction, Material プロパティについては説明し、変更しました。
それについては、「消しゴム銃8 ID=7281」と「消しゴム銃9 ID=7337」をご覧ください。

他の差分は以下です。

Sorting Layer IDDefault → Foregroundレンダラーのソーティングレイヤーの名前
Order in Layer0 → 5ソーティングレイヤー内のレンダラーの順序
Renderer モジュールの既定値と Shells の値の差分。※3列目の説明文は Renderer モジュール – Unity マニュアル の引用です。

キャラクター画像やマップ画像などさまざまな画像の表示順の設定を変更しています。

テストのために正方形のスプライト画像を表示するゲームオブジェクトを同プレハブ内に追加します。
TestWeapon プレハブをダブルクリックして開いた後の Hierarchy ウィンドウの余白で右クリックして表示されるメニューから 2D Object > Sprites > Square を選択すると追加されます。

Unity Particle System Renderer モジュールの SortingLayer の効果を確認するためにプレハブ内に正方形のスプライト画像のゲームオブジェクトを追加します.

このゲームオブジェクトは白い正方形を表示するために最初から SpriteRenderer コンポーネントを持っているので、 SortingLayer を Default から Ground に変更します。
※ Ground は TopDown Engine サンプルのタイルマップでは地面に割り当てられている Sorting Layer ID です。

Unity Particle System Renderer モジュールの SortingLayer の効果を確認するために追加したゲームオブジェクトのSortingLayerをGroundに変更します..

この状況で、再び同プレハブの PSDefault ゲームオブジェクトを選択して Scene ウィンドウの Particle ウィンドウの Play ボタンを押して薬きょう画像のパーティクルを放出すると、先ほど追加した正方形スプライト画像の奥に表示されました。
※ PSDefault は Particle System を新規で付加した後、 Shells の値に少しずつ変化させてきた検証用のゲームオブジェクトです。サンプル Koala Rifle プレハブに最初から入っている Shells ゲームオブジェクトの Renderer モジュールの SortingLayer を Default と Foreground に切り替えてテストしても同様です。

Unity Particle System Renderer モジュールの SortingLayer が既定値の場合はパーティクルはスプライト画像の奥に表示されます.

次に Shells ゲームオブジェクトと同じく Renderer モジュールの SortingLayer を Foreground 、Order in Layer を 5 に変更・保存してから同様に Scene ウィンドウの Particle ウィンドウの Play ボタンを押すと、今度は薬きょう画像のパーティクルが正方形のスプライト画像の手前に表示されました。

Unity Particle System Renderer モジュールの SortingLayer が変更後(Shells の値)の場合はパーティクルはスプライト画像の手前に表示されます.

確認が済んだら、先ほど作成した正方形のゲームオブジェクトは削除して、プレハブを保存しましょう。

まとめ

今回は Unity の Particle System の Renderer モジュールの Sorting Layer, Order in Layer の値を変更することで、他のスプライト画像と重なりあうときの順番が変更されることを、追加したテスト用のスプライト画像で確認しました。

※サンプルは、見下ろし型ゲームの作成支援アセット「TopDown Engine」のサンプル KoalaRifle の Shells ゲームオブジェクトの設定を参考にしています。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました