Visual Effect Graph サンプルコンテンツ
Visual Effect Graph には、使い始める際に役立つサンプルが含まれています。
サンプルは、プロジェクトにインポートできるアセットで、ベースとして使ったり、機能の使い方を学ぶことができます。Visual Effect Graph にはまた、便利な Node も含まれています。
サンプルを見つけるには、まず Visual Effect Graph のインストール をしてから、以下を行います。
Windows > Package Manager へ移動します。
パッケージリストビュー から、Visual Effect Graph を選択します。ない場合は、
- パッケージドロップダウンメニュー から、Unity Registry または In Project をせん
- Go to Edit > Project Settings > Package Manager
- Advanced Settings ドロップダウンで、Show Dependencies を有効にします。これで Visual Effect Graph が Packages リストビューに表示されます。
パッケージの詳細が表示されるメインウィンドウで、Samples セクションを見つけます。
サンプルをプロジェクトにインポートするには、Import をクリックします。これでプロジェクトに Samples フォルダーが作られ、選択したサンプルをそこにインポートできます。またこれは、Unity が今後のサンプルをインポートする場所でもあります。
Output Event ハンドラー
このサンプルには、VisualEffect コンポーネントを持つ GameObject に取り込めるヘルパー MonoBehaviour Scripts が含まれます。これらのスクリプトは、所定の名前の Output Event をリッスンし、様々なアクションを実行して到達します。スクリプトの中には Editor 内でプレビューをサポートするものもあります。サポートするスクリプトでは、Inspector に Execute in Editor トグルが含まれます。サポートしないスクリプトの場合は、Play Mode で動作を表示します。
このサンプルが含むヘルパースクリプトは以下の通りです。
- VFXOutputEventCMCameraShake: 特定した名前を持つ Output Event を受信すると、このヘルパースクリプトは Cinemachine Impulse Sources システムを通じて、カメラの揺れをトリガーします。
- VFXOutputEventPlayAudio: 特定した名前を持つ Output Event を受信すると、このヘルパースクリプトは AudioSource から音を再生します。
- VFXOutputEventPrefabSpawn: 特定した名前を持つ Output Event を受信すると、このヘルパースクリプトは Prefab プールから非表示の Prefabs を所定の位置と回転でスポーンします。さらに、Event の lifetime 属性 に基づいて、Prefab のライフを管理します。Prefabs がスポーンしたら、VFXOutputEventPrefabAttributeHandler スクリプトを使って Prefab の子要素を設定できます。詳細については、VFXOutputEventPrefabSpawn の使用 を参照してください。
- VFXOutputEventRigidBody: 特定した名前を持つ Output Event を受信すると、このヘルパースクリプトはフォースを RigidBody に適用します。
- VFXOutputEventRigidBody: 特定した名前を持つ Output Event を受信すると、このヘルパースクリプトは UnityEvent をトリガーします。
VFXOutputEventPrefabSpawn の使用
VFXOutputEventPrefabSpawn MonoBehaviour コンポーネントは、プールから Prefabs をスポーンします。これらの Prefabs は、インスタンス化する際に非表示になります。コンポーネントを有効にすると、コンポーネントは各 Prefab に対して (SetActive(false)) を無効にします。最後に、コンポーネントを無効にすると、コンポーネントはすべての Prefab インスタンスを破壊します。これはコンポーネントが取り込まれている GameObject を破壊する際にも起こります。
このコンポーネントが特定した名前を持つ Output Event を受信すると、フリーの (無効化された) Prefab を探します。見つかった場合は、
- Prefab を有効にします。
- Use Position を有効にすると、position 属性 を使って Prefab の位置を設定します。
- Use Rotation を有効にすると、angle 属性 から Prefab の回転を設定します。
- Use Scale を有効にすると、scale 属性 から Prefab のスケールを設定します。
- Use Lifetime を有効にすると、lifetime 属性 に基づいて遅延のある Coroutine を開始し、遅延の後に Prefab を無効に (フリーに) します。これにより、今後の OutputEvent でスポーンが可能になります。
VFXOutputEventPrefabAttributeHandlerスクリプトすべてに Prefab インスタンスを検索し、それぞれが属性バインディングを実行するように呼び出します。
VFXOutputEventPrefabAttributeHandler スクリプトは、Prefab をスポーンしたイベントに基づいて、Prefab のパーツを設定します。このサンプルには、VFXOutputEventPrefabAttributeHandler スクリプトの例が 2 つ含まれます。
- VFXOutputEventPrefabAttributeHandler_Light: Prefab がスポーンする際に、OutputEvent の color 属性 とスクリプトの Brightness Scale プロパティに基づいて、関連する Light コンポーネントの色と明度を設定します。
- VFXOutputEventPrefabAttributeHandler_RigidBodyVelocity: Prefab がスポーンする際に、OutputEvent の velocity 属性 に基づいて、関連する RigidBody の速度を設定します。
Visual Effect Graph 追加
このサンプルには、Visual Effect Graph を利用を開始するにあたって役立つ、アセットおよび例が含まれています。例えば、サンプルには以下が含まれます。
- フリップブックテクスチャ一式。
- 様々な ノード を実演するグラフ例。
- プロジェクトで使えるシェーダーとサブグラフ。
- プロジェクトのビジュアルエフェクトとして使える、テクスチャ一式 (CC0 で認可)。
このサンプルはこれらのアセットと例を使って、Built-in Particle System 動作を多く再現します。例えば、ソフトパーティクルを複製するヘルパーや、カットのあるフリップブックを、線形またはモーションベクトルでサンプリングできるヘルパーを提供します。