Unity

【Unity】Game Creator 2 ビジュアルスクリプティング完全解説

【Unity】Game Creator 2 ビジュアルスクリプティング完全解説

当サイトを閲覧いただきありがとうございます。

本記事では、Game Creator 2の要となる「Visual Scripting」(ビジュアルスクリプティング)について詳しく解説します。

PlaymakerやUnity標準のVisual Scriptingのようなノードグラフではなく、タスクリスト方式(命令を上から下に実行するリスト)を採用しているのが最大の特徴です。

公式ドキュメント:Game Creator 2 Documentation


Visual Scriptingとは

Game CreatorのVisual Scriptingは次の3コンポーネント+1(Hotspot)で構成されます。

コンポーネント役割
Actions上から下へ順に実行される命令(Instruction)のリスト
Triggersシーンで発生するイベント(キー入力・衝突・Interval等)を受信してInstructionsを実行
ConditionsBranch(ブランチ)ごとに条件群と命令群を持ち、上から評価して最初に成功したBranchの命令を実行
Hotspotsゲームプレイ自体には影響しないが「インタラクト可能性」を視覚/音/キャラの注目で示す

命名規約

  • Actions は複数のInstructionsを持つ
  • Conditions は複数のBranchesを持ち、各BranchがConditionsInstructionsを持つ
  • Trigger は1つのEventを待ち受ける

High-Level Scriptingの思想

プログラミング言語よりも人間の直感に近い語彙で書けるように設計されています。「このキャラクターをあのオブジェクトに追従させる」のような操作を、低レベルのベクタ計算に落とさずそのまま1命令で書けます。

グラフ型とは共存可能

PlaymakerやUnity Visual Scriptingと組み合わせて使って問題ありません。GC2は「定番パターンを素早く組む」ことが得意、グラフ型は「細かい制御を書き込む」ことが得意、という住み分けです。

Game Creator Hub

コミュニティが無償で配布しているInstruction/Condition/Eventのハブサイト(公式推奨)です。プログラミング不要で語彙を増やせます。


Actions(命令リスト)

作成

  • Hierarchy右クリック → Game Creator > Visual Scripting > Actions
  • 既存オブジェクトにInspector → Add Component > Actions でもOK
  • 削除は歯車アイコン → Remove Component

命令の追加

  • Add Instruction ボタンでドロップダウン → カテゴリ選択または検索バーで直接絞り込み
  • 既存命令を右クリック → Insert Above / Insert Below で任意の位置に挿入

GC2は独自のインデックス検索を持ち、誤字があっても意味的に近いものをヒットさせます。例えば moveMove Character のほか Change Position もヒットします。

組込みヘルプ

命令を右クリック → Help で、説明とパラメータ一覧が載ったフローティングウィンドウが開きます。

実行順

命令は上から下に順次実行されます。1命令が完了するまで次の命令は動きません(Wait to Complete など命令自体が待機する仕様)。リスト末端に達したらActionsは終了します。

デバッグ機能

命令を右クリックすると以下を切替可能です。

  • Disable Instruction:命令を無効化(灰色表示)。再度クリックで戻す
  • Breakpoint:その命令の直前でエディタを一時停止(エディタ時のみ有効、ビルドには影響しない)

Triggers(イベントリスナー)

作成

  • Hierarchy右クリック → Game Creator > Visual Scripting > Trigger
  • または既存オブジェクトへ Add Component > Trigger

基本構造

Triggerは1つのEventを監視し、発火した瞬間に内部のInstructionsリストを実行します。Instruction部分はActionsと同じ操作です。

Event変更

現在のEvent名をクリック → ドロップダウンから別Eventを選択(Fuzzy Search有効)。

代表的なEventカテゴリ

  • Audio:音量変化の監視
  • Cameras:Shot遷移
  • Characters:入力/戦闘/死亡/ラグドール等
  • Input:ボタン・カーソル・Flick・タッチ
  • InteractiveOn InteractOn FocusOn Blur
  • LifecycleOn StartOn UpdateOn Interval など
  • Logic:Hotspotの有効化、On Receive Signal
  • Physics:ColliderのEnter/Exit、衝突
  • Storage:セーブ・ロード・削除
  • UI:選択・ホバー
  • Variables:変数の変更監視

Conditions(条件分岐)

Conditionsコンポーネントの構造

  • 上から下にBranchを評価
  • 各Branchは「Conditions(条件リスト)」と「Instructions(命令リスト)」を持つ
  • 条件リストのすべてがtrueなら、そのBranchの命令を実行して終了
  • 途中でfalseが返れば次のBranchへ
  • 空の条件リストは常に成功扱い(=デフォルト分岐として利用可能)

Branchの追加と並べ替え

  • Add Branch で末尾に追加
  • 右端の = をドラッグで順序入替
  • Description フィールドでメモ的にラベルを付けられます(ロジックには影響なし)

条件の否定

各Conditionの左にある緑のトグルでNOTを適用できます。例:Is Player Moving のNOTはプレイヤーが停止中ならtrueとなります。

作成

  • Hierarchy右クリック → Game Creator > Visual Scripting > Conditions
  • または Add Component > Conditions

Hotspots(インタラクション視覚化)

概要

Hotspotは直接ゲームプレイには影響しない演出用コンポーネントです。インタラクト可能なオブジェクトをプレイヤーに視覚・音・キャラクターの注目で示す仕組みを提供します。

たとえば、プレイヤーが近づいたときにオブジェクトをハイライトしたり、キャラクターの頭を重要なオブジェクトに向けさせたりできます。

一般にTriggerとHotspotはセットで配置します。Triggerがインタラクションの実処理を担い、Hotspotがそのオブジェクトがインタラクト可能であることをプレイヤーに示す演出を担います。

構成要素

HotspotコンポーネントはTargetフィールドとModeで構成されます。Targetは追跡対象のオブジェクト、ModeはHotspotがいつ反応するかを決めます。

Mode(4種類)

モード動作
RadiusTargetが指定半径内に入ると反応。半径の数値フィールドが追加表示される
On Interaction FocusTargetのInteractionシステムがHotspotにフォーカスしたら反応
On Interaction ReachTargetのInteractionシステムのリーチ範囲内にあるが、フォーカスは自分以外のとき反応
Always ActiveTargetとの距離に関係なく常に反応

On Interaction FocusOn Interaction Reach はTargetがCharacterコンポーネントを持つ必要があります

ギズモとデバッグ

  • エディタ時:RadiusモードのHotspotを選択すると、反応距離を示す赤いギズモがシーンに表示される
  • 実行時:ギズモは薄い色で表示され、TargetがHotspotを有効化すると緑色に変わる

距離判定の仕組み

Hotspotの距離チェックはUnityの物理エンジンを使いません。Hotspotの中心とTargetの位置の単純な距離計算で判定するため、Colliderコンポーネントは不要です。

作成方法

  • Hierarchy右クリック → Game Creator > Visual Scripting > Hotspot でシーンオブジェクトとして作成
  • または既存のGameObjectに Add Component > Hotspot で追加

Spots(演出要素)

SpotはHotspotの有効化/無効化時に何をするかを定義する個別の演出単位です。Add Spot ボタンからドロップダウンで追加します。

  • 上から下の順に評価される
  • 同じ種類のSpotを複数置けるが、効果が重なる場合は後のものが上書きする

Audio > Play Sound

Hotspotの有効化/無効化時にUIサウンドエフェクトを再生します。

Characters > Look At

Hotspotが有効化されるとCharacterがHotspotの中心を注視し、無効化されると滑らかに視線を外します。CharacterのIK(Look at Targetリグ)と連動して頭・首・胸・背骨を回転させます。

Game Objects > Activate Object

Hotspotが有効化されるとシーン内の既存のGameObjectインスタンスを有効化し、無効化されると非表示にします。

Game Objects > Instantiate Prefab

Hotspotが有効化されると**PrefabのGameObjectを生成(または有効化)**し、無効化されると非表示にします。

Materials > Change Material

Hotspotが有効か無効かに応じてマテリアルを切り替えます。オブジェクトのハイライト表現などに使えます。

UI > Change Text

指定したTextコンポーネントの値を書き換えます

UI > Cursor

Hotspotにホバーしたときにカーソル画像を変更します。

UI > Show Floating Text

Hotspotが有効化されるとワールド空間キャンバス上にテキストを表示し、無効化されると非表示にします。Prefabを指定しない場合はデフォルトUIが使われます。

関連するVisual Scriptingノード

Instruction

  • Activate Hotspots(Visual Scriptingカテゴリ):種類を指定してHotspotの有効化/無効化を切り替える

Event

  • On Hotspot Activate(Logicカテゴリ):関連付けられたHotspotが有効化されたときに発火
  • On Hotspot Deactivate(Logicカテゴリ):関連付けられたHotspotが無効化されたときに発火

Properties(動的値取得の共通仕組み)

多くの命令・条件・イベントが、フィールドの値をドロップダウン式に動的選択できるようになっています。これがProperty機能です。

  • 例:PropertyGetPosition は「定数のVector3」「Playerの位置」「Main Cameraの位置」「Local Variable」「Nested Access」などから動的選択可能
  • スクリプトからは PropertyGetXXX 系クラスとして提供
  • これにより「ハードコードした座標」「実行時に決まる座標」をUI上で切替可能

デバッグ支援まとめ

機能対象使い方
DisableInstruction/Branch右クリック → Disable
BreakpointInstruction右クリック → Breakpoint(エディタのみ)
Fuzzy SearchAdd Instruction/Add Condition/Event切替誤字・同義語も拾う
内蔵ヘルプ任意のノード右クリック → Help
Hub連携ノードパレット追加命令をコミュニティから入手

スクリプティングでInstruction/Condition/Eventを自作する

プログラマーはC#で独自ノードを書けます。ひな形はProject右クリック → Create > Game Creator > Developer > C# Event(またはInstruction/Condition)で生成します。

Eventの例(カスタムイベント)

using System;
using GameCreator.Runtime.VisualScripting;

[Serializable]
public class MyEvent : Event
{
    protected override void OnStart(Trigger trigger)
    {
        base.OnStart(trigger);
        _ = trigger.Execute(this.Self);
    }
}
  • 親クラス Event にはMonoBehaviour風の多数の仮想メソッドがある(OnAwake/OnStart/OnEnable等)。詳細は Event.cs 参照
  • トリガーは trigger.Execute(target) で発火。返り値はasync Task
    • Fire-and-forget_ = trigger.Execute(this.Self);
    • 完了待ちawait trigger.Execute(this.Self);
  • target は実行されるInstructionsの「Target」扱いになるGameObject

装飾属性(Decoration)

ノードをVisual Scripting上で扱いやすくするためのC#属性です。

属性意味
[Title("名前")]ノードのタイトル(未指定ならクラス名から自動生成)[Title("Hello World")]
[Description("...")]説明文(Hub掲載時の概要欄に使われる)
[Image(typeof(IconCubeSolid), Color.red)]アイコンと色
[Category("Cat/Sub/Name")]サブメニュー階層
[Version(major, minor, patch)]セマンティックバージョン(Hub更新時は必須で上昇)[Version(1, 5, 3)]
[Parameter("名前", "説明")]公開フィールドの説明(複数付与可)
[Keywords("hide")]Fuzzy Search用の追加キーワード
[Example("...")] / [Example(@"複数行")]利用例。Markdown記法推奨
[Dependency("gamecreator.inventory", 1, 5, 2)]必須モジュール指定(Hubで未所持ならブロック)

Custom EventsをHubで共有する際の前提

Hub公開時はTitle/Version/Description/Keywords/Dependencyを正しく付けないと利用者側で検索性や互換性の問題が出ます。


Instructions(命令)全一覧 ― コア312種

カテゴリはVisual Scripting上のドロップダウン階層そのままです。モジュール別命令(Inventory・Dialogue・Stats・Quests・Behavior・Perception・Shooter・Melee)は各アセットのドキュメントで扱うため、ここではコアに含まれるもののみを列挙します。

Animations(8)

命令説明主なパラメータ
Change Animator FloatAnimatorのFloatパラメータの値を変更Parameter Name/Value/Duration/Easing/Wait to Complete/Animator
Change Animator IntegerAnimatorのIntegerパラメータの値を変更Parameter Name/Value/Duration/Easing/Wait to Complete/Animator
Change Animator LayerAnimatorレイヤーのウェイトを変更Layer Index/Weight/Duration/Easing/Wait to Complete/Animator
Change Blend ShapeBlend Shapeパラメータの値を変更Skinned Mesh/Blend Shape/Value/Duration/Easing/Wait to Complete
Play Animation ClipAnimation ClipをAnimatorで再生Animation Clip/Animator
Set AnimationAnimation Clipの値をセットTo/Animation Clip
Set Animator BooleanAnimatorのBoolパラメータを設定Parameter Name/Value/Animator
Set Animator TriggerAnimatorのTriggerパラメータを設定Parameter Name/Animator

Application(2 + Cursor 3)

命令説明主なパラメータ
Open Web PageデフォルトブラウザでWebページを開くURL
Quit Applicationアプリケーションを終了
Cursor Textureハードウェアカーソルの画像を変更Texture/Tip/Mode
Cursor Visibilityハードウェアカーソルの表示/非表示Is Visible
Lock Cursorポインタのロックモードを設定Lock Mode

Audio(21)

命令説明主なパラメータ
Audio Mixer ParameterAudio Mixerの公開パラメータの値を変更Audio Mixer/Parameter Name/Parameter Value
Audio Source PitchAudio Sourceのピッチを変更Audio Source/Pitch/Transition
Audio Source VolumeAudio Sourceのボリュームを変更Audio Source/Volume/Transition
Change Ambient VolumeAmbient音量を変更Volume
Change Master VolumeMaster音量を変更(全チャンネルに影響)Volume
Change Music VolumeMusic音量を変更Volume
Change SnapshotAudio Snapshotを滑らかに遷移Snapshot/Transition
Change Sound Effects VolumeSound Effects音量を変更Volume
Change Speech VolumeSpeech音量を変更Volume
Change UI VolumeUI音量を変更Volume
Fade All Ambient全Ambientを停止Wait To Complete/Transition Out
Fade All Music全Musicを停止Wait To Complete/Transition Out
Play Ambientループ再生Audio Clip(背景音向け)Audio Clip/Transition In/Spatial Blending/Target
Play Musicループ再生Audio Clip(BGM向け)Audio Clip/Transition In/Spatial Blending/Target
Play Sound EffectAudio Clip SEを1回再生Audio Clip/Wait To Complete/Pitch/Transition In/Spatial Blending/Target
Play SpeechAudio Clip音声を1回再生Audio Clip/Wait To Complete/Spatial Blending/Target
Play UI Sound非ダイアジェティックUIサウンドを再生Audio Clip/Wait To Complete/Pitch/Spatial Blending/Target
Stop Ambient再生中Ambientを停止Audio Clip/Wait To Complete/Transition Out
Stop Music再生中Musicを停止Audio Clip/Wait To Complete/Transition Out
Stop Sound EffectSEを停止
Stop Speech On Game Object指定GameObjectのSpeechを停止Target

Cameras(3 + サブ35)

ルート:Change To Shot/Revert To Previous Shot/Set Main Shot。詳細はカメラシステムの記事を参照してください。

Characters(コア67)

詳細はキャラクターシステムの記事を参照してください。

Debug(8 + Console 5 + Gizmos 1)

命令説明主なパラメータ
BeepPC内蔵スピーカーからビープ音を再生
Clear Consoleコンソールのメッセージをクリア
CommentInstructionsリストにコメントを表示(実行時は何もしない)Text
Frame Stepエディタ一時停止中に1フレーム進める
Log Number数値メッセージをコンソールに出力Number
Log Textテキストメッセージをコンソールに出力Message
Pause EditorUnityエディタを一時停止(エディタのみ)
Toggle Consoleコンソールウィンドウの表示切替
Console Closeランタイムコンソールを閉じる
Console Commandコンソールコマンドを実行Command
Console Openランタイムコンソールを開く
Console Textランタイムコンソールにテキスト出力Message
Console Toggleランタイムコンソールの表示切替
Gizmo Lineシーンビューに線ギズモを描画

Game Objects(8 + Components 8 + Pooling 2)

命令説明主なパラメータ
Change LayerGameObjectのレイヤーを変更Layer/Children Too/Game Object
Change NameGameObjectの名前を変更Name/Game Object
Change TagGameObjectのTagを変更Tag/Game Object
DestroyGameObjectインスタンスを破棄Game Object
InstantiateGameObjectの新規インスタンスを生成Game Object/Position/Rotation/Save
Set ActiveGameObjectのアクティブ状態を変更Game Object
Set Game ObjectGameObject値を別のものに設定Set/From
Toggle ActiveGameObjectのアクティブ状態をトグルGame Object
Add Componentコンポーネントを追加Game Object
Disable/Enable ColliderColliderの有効/無効化Game Object
Disable/Enable Componentコンポーネントの有効/無効化Game Object
Disable/Enable RendererRendererの有効/無効化Game Object
Remove Componentコンポーネントを削除Game Object
Pool DestroyGameObjectプールを破棄Game Object
Pool Prewarmプールのインスタンス数を確保Game Object/Pool Size

Input(6)

命令説明主なパラメータ
Disable Input ActionInput Actionを無効化Input Asset
Disable Input MapInput Mapを無効化Input Asset
Display Touchstick Left左側タッチスティックの表示/非表示Show
Display Touchstick Right右側タッチスティックの表示/非表示Show
Enable Input ActionInput Actionを有効化Input Asset
Enable Input MapInput Mapを有効化Input Asset

Lights(2)

命令説明主なパラメータ
Light Colorライトの色を滑らかに変更Color/Light/Duration/Easing/Wait to Complete
Light Intensityライトの強度を滑らかに変更Intensity/Light/Duration/Easing/Wait to Complete

Math > Arithmetic(13)

命令説明主なパラメータ
Absolute Number絶対値を取得Set/Number
Add Numbers2つの値を加算Set/Value 1/Value 2
Clamp Number値を範囲内にクランプSet/Value/Minimum/Maximum
Cosineコサイン値を設定Set/Cosine
Divide Numbers除算Set/Value 1/Value 2
Increment Number値を加算して自身に代入Set/Value
Modulus Numbers剰余演算Set/Value 1/Value 2
Multiply Numbers乗算Set/Value 1/Value 2
Set Number値を代入Set/From
Sign Of Number符号を取得(-1 or 1)Set/Number
Sineサイン値を設定Set/Sine
Subtract Numbers減算Set/Value 1/Value 2
Tangentタンジェント値を設定Set/Tangent

Math > Boolean(6)

命令説明主なパラメータ
And BoolAND演算Set/Value 1/Value 2
Nand BoolNAND演算Set/Value 1/Value 2
Nor BoolNOR演算Set/Value 1/Value 2
Or BoolOR演算Set/Value 1/Value 2
Set BoolBoolean値を代入Set/From
Toggle BoolBoolean値をトグルSet/From

Math > Geometry(23)

命令説明主なパラメータ
Add Directions方向ベクトルの加算Set/Direction 1/Direction 2
Add Points位置ベクトルの加算Set/Point 1/Point 2
ClampVector3の各成分をクランプSet/Value/Minimum/Maximum
Cross Product外積を計算Set/Direction 1/Direction 2
Distance2点間の距離を計算Set/Point 1/Point 2
Dot Product内積を計算Set/Direction 1/Direction 2
Normalize方向ベクトルを正規化Set/From
Project On Plane平面への射影Set/Direction/Plane Normal
Reflect On Plane平面での反射Set/Direction/Plane Normal
Remap CoordinatesVector3の各成分を再マッピングValue/X/Y/Z
Scale Product成分ごとの乗算Set/Direction 1/Direction 2
Set Direction方向ベクトルを設定Set/From
Set Point位置ベクトルを設定Set/From
Set Vector X/Y/Z各成分を個別に設定Set/X or Y or Z
Subtract Directions方向ベクトルの減算Set/Direction 1/Direction 2
Subtract Points位置ベクトルの減算Set/Point 1/Point 2
Transform To Local/World Direction/Pointローカル↔ワールド変換Set/Transform/Direction or Point
Uniform Scale各成分に同じ値を乗算Set/Vector/Value

Math > Shading(4)

命令説明主なパラメータ
Lerp Color2色間を時間経過で補間Color 1/Color 2/Duration/Easing/Wait to Complete/Set
Lerp Lightness明度を時間経過で補間Lightness/Duration/Easing/Wait to Complete/Set
Lerp Saturation彩度を時間経過で補間Saturation/Duration/Easing/Wait to Complete/Set
Set ColorColor値を設定Color/Set

Math > Text(4)

命令説明主なパラメータ
Join2つの文字列を結合Text 1/Text 2/Set
Replace文字列の置換Text/Old Text/New Text/Set
Set Text文字列の値を変更Text/Set
Substring部分文字列を抽出Text/Index/Length/Set

Physics 2D(6)

命令説明主なパラメータ
Add Explosion Force 2D爆発シミュレーション力を適用Rigidbody/Origin/Radius/Force/Force Mode
Add Force 2DRigidbody2Dに力を加えるRigidbody/Direction/Force/Force Mode
Change Mass 2DRigidbody2Dの質量を変更Rigidbody/Mass
Change Velocity 2DRigidbody2Dの速度を変更Rigidbody/Velocity
Gravity Scale 2D重力スケールを変更Rigidbody/Gravity Scale
Is Kinematic 2DKinematic状態を変更Rigidbody/Is Kinematic

Physics 3D(11)

命令説明主なパラメータ
Add Explosion Force 3D爆発シミュレーション力を適用Rigidbody/Origin/Radius/Force/Force Mode
Add Force 3DRigidbodyに力を加えるRigidbody/Direction/Force/Force Mode/Space Mode
Change Mass 3DRigidbodyの質量を変更Rigidbody/Mass
Change Velocity 3DRigidbodyの速度を変更Rigidbody/Velocity
Is Kinematic 3DKinematic状態を変更Rigidbody/Is Kinematic
Overlap Box/Circle/Sphere指定形状内のコライダーを取得Center/Size or Radius/Store In/Layer Mask
Trace Line 3D線分上のコライダーを取得Point A/Point B/Store In/Layer Mask
Use Gravity 3D重力の有効/無効を変更Rigidbody/Use Gravity

Renderer(5)

命令説明主なパラメータ
Change Material ColorマテリアルのColorプロパティを時間経過で変更Property/Color/Duration/Easing/Wait to Complete/Renderer
Change Material FloatマテリアルのFloatプロパティを時間経過で変更Property/Float/Duration/Easing/Wait to Complete/Renderer
Change Material Textureマテリアルのメインテクスチャを変更Texture/Renderer
Change Materialマテリアル自体を変更Material/Renderer
Change SpriteSpriteの値を設定To/Sprite

Scenes(2)

命令説明主なパラメータ
Load Scene新しいシーンを読み込みScene/Mode/Async/Scene Entries
Unload SceneアクティブなシーンをアンロードScene

Storage(5)

命令説明主なパラメータ
Delete Game保存済みゲームデータを削除Save Slot
Load Game保存済みゲーム状態を読み込みSave Slot
Load Latest Game最新のセーブデータを読み込み
Reset Gameゲームをデフォルト値にリセットScene
Save Game現在のゲーム状態を保存Save Slot

Time(3)

命令説明主なパラメータ
Time ScaleゲームのTimeScaleを変更Time Scale/Blend Time/Layer
Wait Frames指定フレーム数待機Frames
Wait Seconds指定秒数待機Seconds/Mode

Transforms(6)

命令説明主なパラメータ
Change Position位置を時間経過で変更Position/Space/Duration/Easing/Wait to Complete/Transform
Change Rotation回転を時間経過で変更Rotation/Space/Duration/Easing/Wait to Complete/Transform
Change Scaleローカルスケールを時間経過で変更Scale/Duration/Easing/Wait to Complete/Transform
Clear Parent親オブジェクトを解除Transform
Look At指定ターゲットの方を向くTarget/Transform
Set Parent親オブジェクトを変更Parent/Transform

UI(16)

命令説明主なパラメータ
Canvas Group AlphaCanvas Groupの不透明度を変更Canvas Group/Alpha/Duration/Easing/Wait to Complete
Canvas Group Block RaycastsRaycastブロックの切替Canvas Group/Block Raycasts
Canvas Group Interactableインタラクタブル状態の切替Canvas Group/Interactable
Change DropdownDropdownの値を変更Text/Index
Change Font Sizeフォントサイズを変更Text/Size
Change Graphic ColorGraphic Colorを変更Graphic/Color
Change HeightRectTransformの高さを変更Rect Transform/Height
Change ImageImageのSpriteを変更Override Sprite/Image/Sprite
Change Input FieldInputFieldの値を変更Input Field/Value
Change SliderSliderの値を変更Slider/Value
Change TextTextの値を変更Text/Value
Change ToggleToggleの値を変更Toggle/Value
Change WidthRectTransformの幅を変更Rect Transform/Width
Focus On特定UI要素にフォーカスFocus On
Submit送信
Unfocusフォーカス解除

Variables(16)

詳細は変数の記事を参照してください。

Visual Scripting(12)

命令説明主なパラメータ
Activate HotspotsHotspotの有効/無効をタイプ別に切替Type/Active
Broadcast MessageGameObjectのメソッドを呼び出しGame Object/Message/Send Upwards
Check Conditions条件リストがfalseなら以降のInstructionsをスキップConditions/Mode
Emit Signalシグナルを発信Signal
Invoke Methodスクリプトのメソッドを呼び出しMethod
Restart InstructionsInstructionsを最初から再実行
Run Actions別のActionsコンポーネントを実行Actions/Wait Until Complete
Run Conditions別のConditionsコンポーネントを実行Conditions/Wait Until Complete
Run Trigger別のTriggerコンポーネントを実行Trigger/Wait Until Complete
Stop Actions実行中のActionsを停止Actions
Stop Conditions実行中のConditionsを停止Conditions
Stop Trigger実行中のTriggerを停止Trigger

モジュール別追加命令(参考):Inventory(36)/Dialogue(4)/Stats(12)/Quests(9)/Behavior(3)/Perception(13)/Shooter(17)/Melee(19)。詳細は各アセット記事を参照してください。


Conditions(条件)全一覧 ― コア80種

Audio(6)

条件説明主なパラメータ
Is Ambient/Music/Sound Effect/Speech/UI Playing指定Audio Clipが再生中ならtrueAudio Clip
Is Speech Target Playing指定GameObjectが音声再生中ならtrueTarget

Cameras(1)

条件説明主なパラメータ
Is Shot ActiveCamera ShotがMain Cameraに割り当てられているならtrueShot

Characters(29)

詳細はキャラクターシステムの記事を参照してください。

Game Objects(7)

条件説明主なパラメータ
Compare Game Objects同一GameObjectか比較Game Object/Compare To
Compare Layerレイヤーマスクに属するかGame Object/Layer Mask
Compare Tag指定タグが付いているかGame Object/Tag
Does Component Existコンポーネントが存在するかGame Object/Component
Does Game Object ExistGameObjectがnullでないかGame Object
Is Component Enabledコンポーネントが有効かGame Object/Component
Is Game Object ActiveGameObjectがアクティブかGame Object

Input(9)

条件説明主なパラメータ
Is Input Held Down/Pressed/ReleasedInput Actionのボタン状態を判定Input
Is Key Held Down/Pressed/Releasedキーボードキーの状態を判定Key
Is Mouse Held Down/Pressed/Releasedマウスボタンの状態を判定Button

Math > Arithmetic(2)

条件説明主なパラメータ
Compare Decimal小数値の比較Value/Comparison/Compare To
Compare Integer整数値の比較Value/Comparison/Compare To

Math > Boolean(3)

条件説明主なパラメータ
Always False常にfalse
Always True常にtrue
Compare BooleanBoolean値の比較Value/Comparison/Compare To

Math > Geometry(5)

条件説明主なパラメータ
Compare Direction方向ベクトルの比較Value/Comparison/Compare To
Compare Distance FlatXZ平面距離の比較Point A/Point B/Comparison/Distance
Compare Distance Vertical垂直距離の比較Point A/Point B/Comparison/Distance
Compare Distance2点間距離の比較Point A/Point B/Comparison/Distance
Compare Point位置ベクトルの比較Value/Comparison/Compare To

Physics(9)

条件説明主なパラメータ
Check Box 2D/3Dボックス形状の衝突判定Position/Size/Layer Mask
Check Capsuleカプセル形状の衝突判定Position/Height/Radius/Layer Mask
Check Character 3D Fitsキャラクターが新サイズに収まるかCharacter/Height/Radius/Layer Mask
Check Circle/Sphere円/球形状の衝突判定Position/Radius/Layer Mask
Is KinematicKinematic状態かGame Object
Is SleepingRigidbodyがスリープ中かGame Object
Raycast 2D/3D2点間のレイキャスト判定Source/Target/Layer Mask

Platforms(5)

条件説明
Check Platform現在のプラットフォームを判定
Is Batch Modeバッチモードで動作中か
Is Consoleコンソールプラットフォームか
Is EditorUnityエディタ内か
Is Mobileモバイルプラットフォームか

Scenes(1)

条件説明主なパラメータ
Is Scene Loadedシーンが読み込まれているかScene

Storage(2)

条件説明主なパラメータ
Has Save At Slot指定スロットにセーブが存在するかSave Slot
Has Saveセーブデータが存在するか

Text(2)

条件説明主なパラメータ
Text Contains文字列が含まれているかText/Substring
Text Equals文字列が一致するかText 1/Text 2

Transforms(3)

条件説明主なパラメータ
Child Count直接の子オブジェクト数を比較Target/Comparison/Compare To
Is Child Of子オブジェクトかChild/Parent
Is Sibling Of兄弟オブジェクトかSibling A/Sibling B

Variables(1)

条件説明主なパラメータ
List Is EmptyList Variableが空かList Variables

Visual Scripting(2)

条件説明主なパラメータ
Conditions As AndネストされたConditionsをAND評価Conditions
Run Conditions As OrネストされたConditionsをOR評価Conditions

Events(イベント)全一覧 ― コア50種

Audio(6)

イベント発火タイミング
On Change Ambient/Master/Music/Sound Effects/Speech/UI Volume各チャンネル音量が変化したとき

Cameras(3)

イベント発火タイミング
On Camera ChangeCameraのShotが切り替わった瞬間
On Change From Shot自身のShotが非アクティブ化された瞬間
On Change To Shot自身のShotがアクティブ化された瞬間

Characters(17)

詳細はキャラクターシステムの記事を参照してください。

Input(4)

イベント発火タイミング主なパラメータ
On Cursor ClickマウスボタンがクリックされたときButton/Min Distance
On Input ButtonKB/Gamepad/Mouseボタンが操作されたときButton/Min Distance
On Input FlickVector2入力がフリックされたときValue/Compare/Min Distance
On Touchタッチスクリーン指タップMin Distance

Interactive(3)

イベント発火タイミング主なパラメータ
On Blurフォーカスが外れたとき
On Focusフォーカスされたとき
On Interact相互作用されたときUse Raycast

Lifecycle(13)

イベント発火タイミング主なパラメータ
On App Focusアプリケーションがフォーカスされたとき
On App Pauseアプリケーションが一時停止されたとき
On App Quitアプリケーションが終了されるとき
On Become InvisibleRendererが非表示になったとき
On Become VisibleRendererが表示されたとき
On DisableGameObjectが非アクティブ化されたとき
On EnableGameObjectがアクティブ化されたとき
On Fixed UpdateFixedUpdateのたびに発火
On Interval指定秒数ごとに定周期発火Time Mode/Interval
On InvokeスクリプトからInvoke()が呼ばれたとき
On Late UpdateLateUpdateのたびに発火
On Startシーン開始時に1回発火
On UpdateUpdateのたびに発火

Logic(3)

イベント発火タイミング主なパラメータ
On Hotspot ActivateHotspotがアクティブ化されたとき
On Hotspot DeactivateHotspotが非アクティブ化されたとき
On Receive Signal指定IDのシグナルを受信したときSignal

Physics(7)

イベント発火タイミング主なパラメータ
On Collide Exit衝突が終了したとき
On Collide衝突が発生したとき
On Trigger Enter Tag特定タグのGameObjectがトリガーに入ったときTag
On Trigger EnterGameObjectがトリガーに入ったとき
On Trigger Exit Tag特定タグのGameObjectがトリガーから出たときTag
On Trigger ExitGameObjectがトリガーから出たとき
On Trigger StayGameObjectがトリガー内にいる間発火し続ける

Storage(3)

イベント発火タイミング
On Deleteセーブが削除されたとき
On Loadゲームがロードされたとき
On Saveゲームがセーブされたとき

UI(4)

イベント発火タイミング
On DeselectUI要素の選択が外れたとき
On Hover EnterUI要素にホバーしたとき
On Hover ExitUI要素のホバーが外れたとき
On SelectUI要素が選択されたとき

Variables(4)

イベント発火タイミング
On Global List Variable ChangeGlobal List変数が変更されたとき
On Global Name Variable ChangeGlobal Name変数が変更されたとき
On Local List Variable ChangeLocal List変数が変更されたとき
On Local Name Variable ChangeLocal Name変数が変更されたとき

Hotspot Spots全一覧

Hotspot有効化/無効化時に発動する演出単位です。Add Spot ボタンで追加します。上から下の順に評価され、同種のSpotが重なる場合は後のものが上書きします。

サブカテゴリSpot有効化時の動作無効化時の動作
AudioPlay SoundUIサウンドエフェクトを再生UIサウンドエフェクトを再生
CharactersLook AtCharacterがHotspotの中心を注視滑らかに視線を外す
Game ObjectsActivate Objectシーン内のGameObjectインスタンスを有効化無効化
Game ObjectsInstantiate PrefabPrefabを生成または有効化無効化
MaterialsChange Material指定マテリアルに切替元のマテリアルに戻す
UIChange TextTextコンポーネントの値を書換
UICursorカーソル画像を変更元のカーソルに戻す
UIShow Floating Textワールド空間キャンバスにテキストを表示テキストを非表示

実践的な使い方 ― やりたいこと別の構成ガイド

キー押下 → メッセージ表示

  1. Trigger作成 → Eventを On Input Button
  2. Buttonに「Space」相当のInputActionを指定
  3. Instructionsに Log TextPlay UI Sound を追加

プレイヤー接近 → NPCが向く

  1. NPCにHotspot(Mode=Radius)を追加、Target=Player
  2. HotspotのSpotに Characters > Look At
  3. 半径内に入るとキャラの頭がNPCを向く

所持金で分岐(RPG定番)

  1. Conditionsコンポーネントを設置
  2. Branch 1:Compare Wealth >= 500Instruction: 購入処理
  3. Branch 2:空条件 → Instruction: 買えない旨のメッセージ

周期イベントで敵のHPを減らす

  1. Trigger作成 → Event=On Interval、Interval=1
  2. Instructionsに Change Stat でHPを -1 するStatsモジュールの命令

Signalを使ったゆるい結合

  • 送信側:Emit Signal 命令で "boss-defeated" をブロードキャスト
  • 受信側:別のTriggerでEvent=On Receive Signal、ID="boss-defeated"
  • 双方が互いの参照を持たないため、プレハブ化や再利用がしやすい設計です

Tipsと注意点

  • Propertyを活用すること:固定値の代わりに「Playerの位置」「Local Variable」などを選んでおけば、プレハブ化や再利用が段違いに楽になります
  • Empty Conditionsは常にtrue:Conditionsコンポーネントで「デフォルト分岐」を作りたい時は、末尾Branchを条件空にして置きます
  • DisableとBreakpointはエディタ限定:ビルド版ではBreakpointは無視されます。ログは Log TextLog Number を使います
  • Signal vs 直接参照:疎結合にしたい場合はSignal。ライフタイム中確実に紐付く2者間なら直接参照でよいです
  • Run Actions / Run Conditions / Run Trigger:他のコンポーネントを呼び出せるので、共通ロジックをPrefab化して呼び出す設計が可能です

公式リンク


まとめ

本記事ではGame Creator 2のVisual Scripting(ビジュアルスクリプティング)について解説しました。如何だったでしょうか。

Visual ScriptingはActions・Triggers・Conditions・Hotspotsの4コンポーネントで、ノードグラフ型とは異なるタスクリスト方式でゲームロジックを構築できるシステムです。

コアだけで312種のInstruction、80種のCondition、50種のEventが用意されており、モジュールを追加すればさらに語彙が広がります。Fuzzy Search・組込みヘルプ・Breakpointなどのデバッグ支援も充実しているため、効率的な開発が可能です。

次回はVariables(変数)について解説していきます。

全記事一覧 ― Game Creator 2 完全ガイド シリーズ総合案内senkohome.com/gamecreator2-series-index/

それでは次の記事も閲覧いただけると幸いです。