こんにちは、Unityエンジニアのオオバです。

ParticleSystemでいう所のPlay On Awake(Awake時にパーティクルを再生させるフラグ)をVisual Effect Graphでどうやって実装するか?という話です。

👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

OnStopをInitial Event Nameにセット

【Unity】Visual Effect Graphを生成直後に再生させない方法_0

上記のようにOnStopイベントをInitial Event NameにセットするとVisual Effect Graphを生成したタイミングでは再生されなくなります。

停止中のVisual Effect Graphの再生方法

_visualEffect.SendEvent("OnPlay");  

Stop状態のVisual Effect Graphを再生状態にするには上記のようにOnPlayをSendEventでイベント発行すれば良いです。

まとめ

Visual Effect GraphのPlayOnAwakeをインスペクタから設定する場合はOnPlayまたはOnStopと記述しないといけないのが、タイポの元になりそうで少しトラブルになりそうな匂いを感じます。

この辺りは運用時にはEditor拡張などしてチェックボックスにしたりするといった工夫ができそうな気はします。

オススメ記事
検証環境