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とプログラムをやり取りさせることができます。
以下のノードは 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 で選択した内容に応じて、 Update 、 LateUpdate 、 FixedUpdate 、または PostLateUpdate のタイミングでイベントが実行されます。最低1フレームの遅延が必要です。
UnityのフレームカウントはUpdateイベントに基づいていることに注意してください。Updateイベントの前(StartやInputイベントなど)でSendCustomEventDelayedFramesを呼び出すと、遅延が予想よりも1フレーム短くなる可能性があります。
SendCustomEventDelayedSeconds
Inputs: instance - UdonBehaviour、eventName - String、delaySeconds - float、eventTiming - EventTiming
delaySecondsの間待機した後、ターゲットのUdonBehaviour上でイベントeventNameを実行します。eventTimingで選択した内容に応じて、Update、LateUpdate、FixedUpdateまたはPostLateUpdateのタイミングでイベントが実行されます。
delaySeconds が 0 の場合、イベントは同じフレーム、または次のフレームで実行されます(上記の SendCustomEventDelayedFrames を参照してください)。
SendCustomNetworkEvent
Inputs: instance - UdonBehaviour, target - NetworkEventTarget, eventName - String
ターゲットとなるUdonBehaviour上で、target に基づきリモートプレイヤーに対してイベント eventName を実行します。パラメーターを含めるためのオーバーロードも用意されています。
詳細については、Network Events のページを確認してください。
最終更新: