VRChat 非公式日本語ドキュメント

Specialノード

「Special」カテゴリには、カスタム変数、カスタムイベント、フロー制御、および他のUdonBehaviourとの通信を行うためのノードが含まれています。

Block

フローを複数のセクションに分割します。1つのフロー入力に対し、複数のフロー出力があります。右側のすべてのフローを上から順に実行します。

Branch

Inputs: Bool - System.Boolean

条件評価に基づいて実行を分岐します。Bool が真(True)であれば「True」のフローパスが実行され、Bool が偽(False)であれば「False」のフローパスが実行されます。

Comment

ユーザーがコメント文字列を入力するためのスペースを提供します。この文字列はコンパイル時には含まれません。

Const Null

nullチェックの目的で使用する「null」値を提供します。

Const This

UdonBehaviourがコンポーネントとしてアタッチされているGameObjectへの参照を提供します。

Event Custom

Inputs: name - System.String

UdonBehaviourノードによって実行できるカスタムイベントです。

グラフ上で名前を入力してカスタムイベントに名前を付ける必要があります。イベント名はプログラムの実行中に変更することはできません。

For

Inputs: start, end, step - System.Int32

Outputs: index - System.Int32

カウンターを使用してフローを実行します。カウンターは start の値で初期化されます。Body フローが実行された後、カウンターは step の値だけ増加します。これは、カウンターの値が end 以上になるまで繰り返されます。完了すると、フローは Exit フローへと続きます。

Get Variable

Inputs: name - System.String

Outputs: System.Object

name という名前のUdon変数を取得し、出力として提供します。

Set Variable

Inputs: name - System.String value - System.Object sendChange - Boolean

フローが実行された際、name という名前のUdon変数の値を value に設定します。sendChange にチェックを入れると、その変数に対するOnVariableChangedイベントも発生します。

Get Program Variable

Inputs: instance - UdonBehaviour symbolName - string

他のUdonBehaviour instance から、Udon変数 symbolName の値を取得します。ターゲットとなるUdonBehaviourがpublic変数であり、Inspectorで接続されている場合に最適です。この場合、ドロップダウンからターゲットの変数名を選択できます。instance にUdonBehaviourが接続されていない場合は、現在のUdonBehaviourの変数名が使用されます。変数名がわかっていて直接指定したい場合は、String const ノードを使用して手動で入力してください。

Set Program Variable

Inputs: instance - UdonBehaviour symbolName - string value - Object

他のUdonBehaviour instance 上のUdon変数 symbolName の値を value に設定します。ターゲットとなるUdonBehaviourがpublic変数としてInspectorで設定されている場合、ドロップダウンからターゲットの変数名を選択できるため、最適に動作します。instance にUdonBehaviourが接続されていない場合は、現在のUdonBehaviourの変数名が使用されます。変数名を知っていて直接設定したい場合は、String const ノードを使用して手動で入力してください。このノードは、ターゲット変数に対してOnVariableChangedイベントも発生させます。

OnVariableChanged

Outputs: newValue oldValue

ターゲット変数に対してSetProgramVariableが呼び出されたとき、または sendChange がチェックされた状態でSet Variableが呼び出されたときに発生します。同期変数でも機能します!

While

Inputs: Bool - System.Boolean

Bool が真である間、Body のフローを実行します。Bool が偽の場合は、Exit のフローを実行します。

UdonBehaviourノード

UdonBehaviourノードにより、ローカル、遅延、またはネットワーク経由で他のUdonBehaviourとプログラムをやり取りさせることができます。

UdonSharp

以下のノードは public イベントでのみ機能します。Udon Graphを使用する場合、カスタムイベントは常に public になります。UdonSharpを使用している場合は、 private の代わりに public イベントを使用するようにしてください!

SendCustomEvent

Inputs: instance - UdonBehaviour, eventName - String

ターゲットとなるUdonBehaviour上でイベント eventName を実行します。instance を空のままにすると、自分自身のイベントを指します。

SendCustomEventDelayedFrames

Inputs: instance - UdonBehaviour, eventName - String, delayFrames - int, eventTiming - EventTiming

delayFrames だけ待機した後、ターゲットとなるUdonBehaviour上でイベント eventName を実行します。 eventTiming で選択した内容に応じて、 UpdateLateUpdateFixedUpdate 、または PostLateUpdate のタイミングでイベントが実行されます。最低1フレームの遅延が必要です。

タイミングの問題

UnityのフレームカウントはUpdateイベントに基づいていることに注意してください。Updateイベントの前StartやInputイベントなど)でSendCustomEventDelayedFramesを呼び出すと、遅延が予想よりも1フレーム短くなる可能性があります。

SendCustomEventDelayedSeconds

Inputs: instance - UdonBehavioureventName - String、delaySeconds - float、eventTiming - EventTiming

delaySecondsの間待機した後、ターゲットのUdonBehaviour上でイベントeventNameを実行します。eventTimingで選択した内容に応じて、UpdateLateUpdateFixedUpdateまたはPostLateUpdateのタイミングでイベントが実行されます。

delaySeconds が 0 の場合、イベントは同じフレーム、または次のフレームで実行されます(上記の SendCustomEventDelayedFrames を参照してください)。

SendCustomNetworkEvent

Inputs: instance - UdonBehaviour, target - NetworkEventTarget, eventName - String

ターゲットとなるUdonBehaviour上で、target に基づきリモートプレイヤーに対してイベント eventName を実行します。パラメーターを含めるためのオーバーロードも用意されています。

詳細については、Network Events のページを確認してください。

最終更新: