渋谷ほととぎす通信

新しいこと、枯れたこと問わずサムザップ大庭が興味を持ったものを調査、生活の効率を求める完全趣味の技術ブログ。基礎を大事にしています。※あくまで個人ブログであり所属組織とは関係ありません

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


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

OnStopをInitial Event Nameにセット

f:id:esakun:20201026082559p:plain:w450

上記のように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拡張などしてチェックボックスにしたりするといった工夫ができそうな気はします。

環境 

  • Unity2020.1.6f1
  • macOS Catalina 10.15.5
  • Visual Effect Graph 8.2.0