【Unity】Sub Emitterが表示されないときの対処法

3DCG
スポンサーリンク

はじめに

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

今回の問題は「衝突、消滅、トリガー、手動」の4つ発生条件で起こる可能性があります。

結論

サブエミッターの発生以外「衝突、消滅、トリガー、手動」は普通の放出ではパーティクを出せません。

この4つは「バースト」設定のみのパーティクルを出力します。

そしたら一般人向けに細かく書いていきます。

サブエミッターの設定方法

こちらの記事で作ったパーティクルの続きで作っていきます。

【Unity】衝突して消えるParticleの作り方
「衝突」を有効化してタイプを「ワールド」にすれば衝突判定にパーティクルがぶつかります。バウンスや減衰率を操作すると衝突の挙動を操作できます。そして生存期間の損失を1にすると衝突した瞬間に消えるパーティクルが作れます。こちらを画像付きで解説。

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

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

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

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

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

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

以上がサブエミッターの設定方法です。

発生以外のサブエミッターが消える問題

そしたら「発生」以外のサブエミッターに設定します。

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

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

これが発生以外のサブエミッターが消える問題です。

発生以外でサブエミッターを表示する方法

サブエミッター用のパーティクルを選択。

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

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

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

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

不具合を減らすという意味では「時間と距離ごとの率」を0にするのは有効な手です。

まとめると下図のようになります。
発生以外のサブエミッターは放出の「バースト」で発生させましょう。

以上が、発生以外でサブエミッターを表示する方法です。

まとめ

今回はUnity2022でSub Emitterが表示されないときの対処法を紹介しました。

・サブエミッターを使えばパーティクルを発生位置で新たなパーティクルを作れる
・出現条件が「発生」のサブエミッターは普通に動く
・発生以外のサブエミッターは放出で「バースト」設定したモノしか出現しない

また他にもUnityや3DCGについて解説してます。

ぜひ、こちらもご覧ください。

初心者向けUnity Particleエフェクト講座
初心者向けUnity Particle System (Shuriken) を使ったParticleエフェクト制作講座

コメント

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