はじめに
今回はUnityのSub Emitterが表示されないときの対処法を紹介します。
Unityは2022を使用、VRChat向け用途を想定して解説します。

今回の問題は「衝突、消滅、トリガー、手動」の4つ発生条件で起こる可能性があります。
結論
サブエミッターの発生以外「衝突、消滅、トリガー、手動」は普通の放出ではパーティクを出せません。
この4つは「バースト」設定のみのパーティクルを出力します。


そしたら一般人向けに細かく書いていきます。
サブエミッターの設定方法
こちらの記事で作ったパーティクルの続きで作っていきます。

衝突したら消えるパーティクルを作成。

サブエミッターを有効化。

サブエミッター用の新しく「Particle system」を制作。
そしてサブエミッター用のパーティクルを親の階層内に入れます。

親パーティクルを選択。
サブエミッターの所に作った子パーティクルをドラッグ&ドロップ。

そして生成条件を「発生」に設定。

この発生設定では普通にサブエミッターが表示されます。

以上がサブエミッターの設定方法です。
発生以外のサブエミッターが消える問題
そしたら「発生」以外のサブエミッターに設定します。

ここでは「衝突」を選択。

すると… サブエミッターが表示されません。
ただ消えるだけになります。

これが発生以外のサブエミッターが消える問題です。
発生以外でサブエミッターを表示する方法
サブエミッター用のパーティクルを選択。

放出の所を開き “バースト” 右下の「+」を選択。

これで「バースト」の条件でパーティクルを放出する設定になりました。

この「バースト設定」であれば発生以外のサブエミッターでも表示されるようになります。

ちなみにバースト以外の放出情報はサブエミッターでは効果を発揮しません。
「時間と距離ごとの率」を0にしてもバーストが入っていれば動くことが分かります。


不具合を減らすという意味では「時間と距離ごとの率」を0にするのは有効な手です。
まとめると下図のようになります。
発生以外のサブエミッターは放出の「バースト」で発生させましょう。

以上が、発生以外でサブエミッターを表示する方法です。
まとめ
今回はUnity2022でSub Emitterが表示されないときの対処法を紹介しました。
・サブエミッターを使えばパーティクルを発生位置で新たなパーティクルを作れる
・出現条件が「発生」のサブエミッターは普通に動く
・発生以外のサブエミッターは放出で「バースト」設定したモノしか出現しない
また他にもUnityや3DCGについて解説してます。
ぜひ、こちらもご覧ください。

コメント