Visual Scripting : Custom Eventを活用する方法

今回はVisual ScriptingのCustomEventの使い方について紹介します。

CustomEventとは

UnityのVisual ScriptingにおけるCustom Eventは、独自に定義したイベントを任意のタイミングで呼び出せる仕組みです。スクリプト間の通信や特定の処理をトリガーする際に役立ちます。

今回は、ボタンを押すことでオブジェクトの色を変更する仕組みを作成します。

このような構造でScriptGraphを制作します。

Image2

完成版のプロジェクトは以下からダウンロードできます:

GitHubリポジトリ

準備

シーン上に以下のオブジェクトを配置してください:

  • Cube(色が変わる対象のオブジェクト)
  • Button × 2(「Red」と「Blue」のラベル付きボタン)

オブジェクトを適切に配置してください(サンプルと同じ配置を参考に)

ChangeColorRecieverの作成

1.Cubeに「Script Machine」コンポーネントを追加します。

2.新しいScript Graphを作成し、名前をChangeColorReceiverにします。

3.String型の変数「Change Red」「Change Blue」を作成します。

Image3

以下のようにノードを追加します。

  • Custom Event: イベント名を設定し、String型の引数を受け取るようにします。
  • Materialの取得: Cubeのマテリアルを取得します。
  • 色の変更: 受け取った引数に応じてマテリアルの色を変更します。
Image8

ChangeBlueGraph、ChangeRedGraphの作成

1.各ボタンに「Script Machine」コンポーネントを追加します。

2.ボタンごとに以下のScript Graphを作成します:

  • Red用: ChangeRedGraph
  • Blue用: ChangeBlueGraph

3.GameObject型の変数「ChangeColorCube」を作成し、Cubeを割り当てます。

Image1
Image7

以下のようにノードを追加します。

On Button Click: ボタンがクリックされた際に処理を開始します。

Custom Eventの呼び出し:CustomEventノードに「ChangeColorRecieverの作成で作成したString型の変数名の「ChangeRed」と「ChangeBlue」をそれぞれ入力する(スペルは正確に入力する)。

Image4
Image6

実行

ボタンを押すことで、Cubeの色がそれぞれ「赤」または「青」に変わります。

まとめ

Custom Eventは、Visual Scriptingでスクリプト間の柔軟な通信を実現する便利な仕組みです。この仕組みを活用すれば、シンプルで管理しやすいイベント駆動型のシステムを構築できます。