TopDownEngine薬莢PatricleSystem調査3/7

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

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

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

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

前回までの結果

前回までに既定値の Particle System の値のうち、メインモジュールと Emission (放出) モジュールの値を、 TopDown Engine のサンプルの銃 KoalaRifle の Shells (薬きょうのアニメーション)の設定に合わせて、その変更の影響を調べました。

Emission モジュールでは、放出という名前の通り、パーティクルをどのタイミングで何個程度放出するかを設定していました。
サンプルの Shells では、薬きょうが必ず 0 秒時点で 1 個放出されるように設定していました。

Shape モジュール

Particle System コンポーネントの Shape モジュールの公式の説明の引用です。
このモジュールは Shape プロパティで選択した形状に応じて、残りのプロパティが変化します。
今回の例では Cone の形状の設定を比較します。

このモジュールは パーティクル を放出する体積や面、および開始速度の方向を定義します。 Shape プロパティは放出ボリュームの形状を定義し、残りのモジュールプロパティは選択した形状に応じて変化します

Shape モジュール – Unity マニュアル
Unity Particle System コンポーネントの既定値とShellsの値の比較 Shapeモジュール
Angle25 → 20円錐の角度。0 は円柱形を、90 ではディスクのような平らな形になります。
Radius1 → 0.1形状の円の半径
Arc以降の 2 項目を変更放出の形状を作る円弧
Arc ModeRandom → Burst Spread円弧の周囲にどのようにパーティクルを生成するかを定義します。Random に設定すると、パーティクルは円弧の周囲にランダムに生成されます。 Loop に設定するとパーティクルは円弧の周囲に順番に生成され、各サイクルが終了すると開始からまた繰り返します。 Ping-Pong は、連続する各ループの終了時に前回と反対方向に向かって発生する以外は Loop と同じです。最後に、Burst Spread モードではパーティクルの生成を形状の周りに均等に行うことができます。これを使うと、パーティクルが不均等に固まってしまうこともありうるデフォルトのランダム挙動よりも、パーティクルを均等に広げることができます。Burst Spread は burst emissions と一緒に使用すると最も効果的です。
Arc Spread0 → 0.1パーティクルが生成される円弧の周囲の離散間隔を制御します。例えば 0 の値を指定すると、円弧の周りのどこにでもパーティクルが生成され、0.1 の値を指定すると、形状の周囲に 10% の間隔をあけてパーティクルが生成されます。
Rotation.X0 → -90パーティクルの生成に使用するエミッターの形状を回転します。
Align To DirectionOFF → ONパーティクルの最初の移動方向に基づいてパーティクルを整列させます。これは、衝突時に車の車体から飛び散る車の塗料の塊をシミュレーションする場合などに便利です。方向が適切でない場合は、Main モジュールの Start Rotation の値を適用して方向をオーバーライドすることもできます。
Shape(Cone) モジュールの既定値と Shells の値との差分。 ※ 3 列目の説明文は Shape モジュール – Unity マニュアル の引用です

見た目でわかりやすくするために、一時的に、今まで既定値から Shells の値に変更してきた一部を戻しました。

メインモジュールGravity Modifier1.0 → 0
Emission モジュールRate over Time0 → 10
一時的に既定値に戻した Particle System のプロパティ

Unity Particle System Shape(Cone)モジュールを設定することで、その形にそって放出されます.

Unity Particle System Shape(Cone)モジュールの角度を上向きにすることで上向きに形に沿ってパーティクルが放出されます..

Shape モジュールによってパーティクルがどのような器に沿って放出されるかを指定できることがわかりました。

一時的に変更していたメインモジュールと Emission モジュールの値を元に戻します。
これにより再び重力が有効になり、Particle System の Play 1 回ごとに 1 個のパーティクルが放出されるように設定が戻りました。

メインモジュールGravity Modifier0 → 1.0
Emission モジュールRate over Time10 → 0
Shells の値に戻した Particle System のプロパティ

メインモジュール、Emission モジュールに続いて、 Shape モジュールも Shells の値に変更することで、薬きょうのパーティクルが Shape で指定した上向きの円錐 (Cone) の先端から円錐にそって飛び出すようになりました。

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

今回はここまで

今回は、Unity の見下ろし型ゲームの作成支援アセット「TopDown Engine」のサンプルの銃 KoalaRifle を参考にして、銃を撃ったときの薬きょうパーティクルが飛び出す際の器となり、放出の動きをその器に沿わせたり発生範囲を決める Shape モジュールについて差分を中心に調べて、変化を確認しました。

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