docs.unity3d.com
    目次を表示する/隠す

    グラフ

    Visual Scripting の基本的な構成要素のひとつは、グラフです。グラフは、アプリケーションのロジックを視覚的に表したものです。

    Visual Scripting には、Script Graph (スクリプトグラフ) と State Graph (ステートグラフ) の 2 種類のグラフがあります。状況に合わせてこのどちらかの種類のグラフを使用してゲームオブジェクトの動作の定義と変更を行えます。スクリプトグラフ内またはステートグラフ内のロジックを使用するには、それをマシンに添付する必要があります。Script Machine (スクリプトマシン) と State Machine (ステートマシン) に関する詳細は、Script Machine と State Machine を参照してください。

    Script Graph (スクリプトグラフ)

    Script Graph (スクリプトグラフ) は、特定のアクションと値を制御し、接続します。スクリプトグラフ内のアクションは特定の順序で実行されます。アクションはフレーム毎に実行される場合もあれば、特定のイベントの発生時に実行される場合もあります。

    Graph ウィンドウに開かれた Script Graph の例

    Visual Scripting では、スクリプトグラフ内のアクションがノードによって表されます。ノードに関する詳細は、ノード を参照してください。

    スクリプトグラフ内では、複数のノードを接続し、それらを使用してアプリケーションに何をどの順序で実行すべきかを指示することができます。

    スクリプトグラフでは、豊富なノードのコレクションが使用できます。ノードは Unity エディターの各種機能に対応しています。ノードには Visual Scripting のファジーファインダーからアクセスできます。ファジーファインダーに関する詳細は、Visual Scripting のインターフェース を参照してください。

    スクリプトグラフは、アプリケーションの実行中にゲームオブジェクトが何をどう実行するかを具体的に定義するための便利な手段を提供します。

    State Graph (ステートグラフ)

    State Graph (ステートグラフ) はステート (状態) を含んでおり、遷移と呼ばれる接続を用いて、アプリケーションがステートからステートへと移行するタイミングのロジックを提供します。ステートとは、ゲームオブジェクトに実行させる一式の動作です。Visual Scripting では、ステートグラフ内の各ステートがノードによって表されます。

    Graph ウィンドウに開かれた State Graph の例

    ステートグラフ内のステートノードは、アプリケーションが従うための新しいロジックを持つ新しいスクリプトグラフを提供することも、追加の遷移とステートノードを持つ別のステートグラフを提供することもできます。

    ステートグラフ内のロジックは、動作を変更すべきタイミング ("イベントに応じて変更" あるいは "条件が満たされた後で変更") をアプリケーションに伝えます。

    例えば、ゲーム内に、Patrol (パトロール) ステートと Chase (追跡) ステートを持つ敵キャラクターがいるとします。この敵キャラクターのアクションは、プレイヤーキャラクターが検知されると、スクリプトグラフ内で Patrol ステートのアクションから Chase ステートのアクションに変わります。この場合、敵キャラクターがプレイヤーキャラクターを検知するイベントが、2 つのステート間の遷移をトリガーします。

    ステートグラフではファジーファインダーは使用されません。代わりに、特定の State ノード一式が使用されます。

    • Script State にはスクリプトグラフが含まれています。アプリケーションが Script State をトリガーすると、Script State に添付されたスクリプトグラフ内のロジックが実行されます。Script State は、On Enter State Event ノード、On Update Event ノード、および On Exit State Event ノードを使用して、現在のステートに基づいてロジックを制御します。

    • Super State には、入れ子になった別のステートグラフが含まれています。Super State は、ステートグラフをより効率的に整理し、ステートや遷移を複数のグラフにわたって再使用するのに役立ちます。

    • Any State は、スクリプトグラフ内の他のステートのプレースホルダーとして機能します。グラフ内の複数の他のステートから 1 つのステートへの遷移を複数作成する代わりに、Any State ノードを 1 つ使用して新しいステートへの 1 つの遷移を作成することで同じことが行えます。

    • Transition (遷移) は、Script State、Any State、Super State を接続します。Transition には、あるステートから別のステートへ切り替わるべきタイミングをアプリケーションに伝える スクリプトグラフが含まれています。詳細は 遷移 を参照してください。

    Script State ノードあるいは Super State ノードは全て Start State にすることができます。Start State としてマークされたステートは、Visual Scripting によってステートグラフの実行が開始されると自動的にアクティブになります。1 つのグラフ内に複数の Start State を含めることも可能です。

    Graph ウィンドウに開かれた State Graph 内に含まれる複数の Start State が赤枠で強調表示されています。

    State Graph (ステートグラフ) は、AI の動作の設計や、シーンやレベルの構造の定義に役立ちます。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)