前回は、Unity の見下ろし型作成支援アセット「TopDown Engine」のサンプルの銃 KoalaRifle プレハブで射撃時に薬きょうを飛び出させるアニメーションを行う Shells ゲームオブジェクトの Particle Systems コンポーネントのメインモジュールのプロパティ群を既定値と比較することで、重力の影響や、速度や角度を指定範囲内でばらつかせていることがわかりました。
前回の記事:TopDownEngine 薬きょうの Patricle System の調査1/7 | Compota-Soft-Press
今回は、Unity の Particle System コンポーネントの Emission モジュールのサンプルとの差分を調べ放出するパーティクル(薬きょう画像)の数やタイミングの設定について紹介します。
※ Unity のバージョン 2021.3.25f1、 TopDown Engine のバージョンは 3.2 です。
前回までの結果
前回、Particle System コンポーネントのメインモジュールの既定値を Shells のプロパティの値と同じにした結果、ふわふわと漂っていた薬きょう画像のマテリアルが、放物線を描き重力の影響を受けてある程度ばらついた速度・角度で飛び出すようになりました。
今回も、モジュールごとの差分のプロパティの意味を調べ、その後、既定値を Shells の値と同じにして動作の違いを検証していきます。
Emmision モジュール
公式の説明の引用です。
このモジュールのプロパティは パーティクル 放射の頻度とタイミングに影響を与えます。
Emission モジュール – Unity マニュアル
Rate over Time | 10 → 0 | ユニットタイム毎に放出されるパーティクルの数 |
Bursts | 0 個 → 1 個 | パーティクルを生成するイベント。この設定によって、指定した時間にパーティクルが放出されます |
Bursts に追加されたデータについて引用と合わせて記載します。
Time | 0.000 | バーストを放出する時間 (秒単位、Particle System 開始後の時間) を設定します |
Count | 1 | 放出されるパーティクルの数を設定します |
Cycles | 1 | 何回バーストを行うかを設定します |
Interval | 0.010 | バーストが発生する各サイクルの合間の時間 (秒) を設定します |
Probablity | 1.00 | 各バーストイベントがパーティクルを生成する確率を制御します。値を大きくするとパーティクルがより多く生成され、値が 1 の場合はパーティクルが生成されることが保証されます。 |
バーストはパーティクル(今回ならば薬きょう画像のマテリアル)を放出する動作を指します。
バーストの設定をリストに追加しなくても、既定値では 1 秒ごとに 10 個のパーティクルが放出されますが、Shells ではこれを 0 にして、バーストのデータを一つ追加しています。
バーストに追加されたデータは、開始 0 秒後に 1 個のパーティクルを 1 回だけ 100 % の確率で放出します。
これにより、必ず 1 個だけの薬きょう画像のマテリアルがパーティクルとして飛び出します。
なぜか Interval は 0 を指定しても 0.010 に書き換えられてしまいますが、これは Shells の設定も同じです。
パーティクルが2個出るのは Interval のせいかと思っていました。
しかし、同列の Shells オブジェクトの出すパーティクルと、既定値の Particle System を変更中の PSDefault ゲームオブジェクトのパーティクルが 1 個ずつ出ているだけで、片方を無効にするとそれぞれ 1 個ずつのパーティクルが出力されました。
Emission モジュールのプロパティを Shells の値と同じにしたことで、薬きょう画像のパーティクルの出るタイミングや必ず 1 個だけ放出されるようになりました。
今回はここまで
今回は Unity の見下ろし型ゲーム作成支援アセット「TopDown Engine」の銃のサンプル KoalaRifle を参考にして、銃を撃ったときに飛び出す薬きょうのタイミング・個数などを設定する Emission (放出) モジュールの設定を変更して、 0 秒時点で 1 個の薬きょうが飛び出すことを確認しました。
Particle System コンポーネントには他にもモジュールがあるので、引き続きサンプルで変更している差分を中心に調べます。
参照サイト Thank You!
- Unity のリアルタイム開発プラットフォーム | 3D/2D、VR/AR のエンジン
- TopDown Engine | システム | Unity Asset Store
- Emission モジュール – Unity マニュアル
記事一覧 → Compota-Soft-Press
コメント