TopDownEngine 薬きょうの Patricle System の調査2/7

前回は、Unity の見下ろし型作成支援アセット「TopDown Engine」のサンプルの銃 KoalaRifle プレハブで射撃時に薬きょうを飛び出させるアニメーションを行う Shells ゲームオブジェクトの Particle Systems コンポーネントのメインモジュールのプロパティ群を既定値と比較することで、重力の影響や、速度や角度を指定範囲内でばらつかせていることがわかりました。

前回の記事:TopDownEngine 薬きょうの Patricle System の調査1/7 | Compota-Soft-Press

Unity Particle System メインモジュールの値を Shells と同じ値に変更後の動作 Edited SS1
Unity Particle System コンポーネントの既定値とShellsの値の比較 メインモジュール

今回は、Unity の Particle System コンポーネントの Emission モジュールのサンプルとの差分を調べ放出するパーティクル(薬きょう画像)の数やタイミングの設定について紹介します。
※ Unity のバージョン 2021.3.25f1、 TopDown Engine のバージョンは 3.2 です。

前回までの結果

前回、Particle System コンポーネントのメインモジュールの既定値を Shells のプロパティの値と同じにした結果、ふわふわと漂っていた薬きょう画像のマテリアルが、放物線を描き重力の影響を受けてある程度ばらついた速度・角度で飛び出すようになりました。

今回も、モジュールごとの差分のプロパティの意味を調べ、その後、既定値を Shells の値と同じにして動作の違いを検証していきます。

Emmision モジュール

公式の説明の引用です。

このモジュールのプロパティは パーティクル 放射の頻度とタイミングに影響を与えます。

Emission モジュール – Unity マニュアル
Unity Particle System コンポーネントの既定値とShellsの値の比較 Emissionモジュール
Rate over Time10 → 0ユニットタイム毎に放出されるパーティクルの数
Bursts0 個 → 1 個パーティクルを生成するイベント。この設定によって、指定した時間にパーティクルが放出されます
Emission モジュールの既定値と Shells の値の差分。※3列目の説明文は Emission モジュール – Unity マニュアル の引用です。

Bursts に追加されたデータについて引用と合わせて記載します。

Time0.000バーストを放出する時間 (秒単位、Particle System 開始後の時間) を設定します
Count1放出されるパーティクルの数を設定します
Cycles1何回バーストを行うかを設定します
Interval0.010バーストが発生する各サイクルの合間の時間 (秒) を設定します
Probablity1.00各バーストイベントがパーティクルを生成する確率を制御します。値を大きくするとパーティクルがより多く生成され、値が 1 の場合はパーティクルが生成されることが保証されます。
Emission モジュールの Bursts データの Shells の設定値。 ※ 3 列目の説明文は Emission モジュール – Unity マニュアル の引用です。

バーストはパーティクル(今回ならば薬きょう画像のマテリアル)を放出する動作を指します。
バーストの設定をリストに追加しなくても、既定値では 1 秒ごとに 10 個のパーティクルが放出されますが、Shells ではこれを 0 にして、バーストのデータを一つ追加しています。
バーストに追加されたデータは、開始 0 秒後に 1 個のパーティクルを 1 回だけ 100 % の確率で放出します。
これにより、必ず 1 個だけの薬きょう画像のマテリアルがパーティクルとして飛び出します。

なぜか Interval は 0 を指定しても 0.010 に書き換えられてしまいますが、これは Shells の設定も同じです。

パーティクルが2個出るのは Interval のせいかと思っていました。

しかし、同列の Shells オブジェクトの出すパーティクルと、既定値の Particle System を変更中の PSDefault ゲームオブジェクトのパーティクルが 1 個ずつ出ているだけで、片方を無効にするとそれぞれ 1 個ずつのパーティクルが出力されました。

TopDownEngine サンプル KoalaRilfe の Shells を無効にして、検証用の方のGOだけ有効にすることで Emission モジュールを変更後2個ではなく1個放出されるようになりました.

Emission モジュールのプロパティを Shells の値と同じにしたことで、薬きょう画像のパーティクルの出るタイミングや必ず 1 個だけ放出されるようになりました。

Unity Particle System Emission モジュールを既定値からTopDownEngine サンプル KoalaRifle の Shells の同モジュールと同じに変更した結果 Edited SS1

今回はここまで

今回は Unity の見下ろし型ゲーム作成支援アセット「TopDown Engine」の銃のサンプル KoalaRifle を参考にして、銃を撃ったときに飛び出す薬きょうのタイミング・個数などを設定する Emission (放出) モジュールの設定を変更して、 0 秒時点で 1 個の薬きょうが飛び出すことを確認しました。

Particle System コンポーネントには他にもモジュールがあるので、引き続きサンプルで変更している差分を中心に調べます。

参照サイト 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をコピーしました