イベントノード
ここでは、「イベント」とみなされるUdonノードの一覧を紹介します。
スクリプトでイベントを使用すると、アクションを検出し、一連のアクションやロジックを開始させることができます。Input Events は専用のページで解説しています。グラフ内のイベントにジャンプするには、グラフサイドバーで該当するイベントをクリックしてください。
以下のすべてのノードには、ロジックが必要とするフローノードが含まれています。
ネットワーク関連のイベントについては、Network Components のページを参照してください。
Interact
ローカルプレイヤーがこのGameObjectとインタラクトしたときに実行されます。
- プレイヤーは、ColliderコンポーネントとUdonBehaviourコンポーネントの両方を持つGameObjectとしかインタラクトできません。
- プレイヤーに2D UIを操作させたい場合は、VRC Ui Shape とButtonコンポーネントを使用してください。
OnDrop
保持していたこのオブジェクトを、ローカルプレイヤーがドロップしたときに実行されます。
OnPickup
このオブジェクトをローカルプレイヤーが拾い上げたときに実行されます。
OnPickupUseDown
このオブジェクトを保持しているローカルプレイヤーが「Use(使用)」ボタンを押したときに実行されます。ボタンが押された瞬間に発生します。デスクトップモードでは 'Auto Hold' が有効である必要があります。
OnPickupUseUp
このオブジェクトを保持しているローカルプレイヤーが「Use(使用)」ボタンを離したときに実行されます。ボタンが離された瞬間に発生します。デスクトップモードでは 'Auto Hold' が有効である必要があります。
OnPlayerJoined
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンスにプレイヤーが参加したときに実行されます。参加した player を出力します。
インスタンスに参加した際、自分自身を含め、インスタンス内にいるすべてのプレイヤーに対してOnPlayerJoinedが実行されます。他のプレイヤーがインスタンスに参加した場合は、参加したプレイヤーに対してのみOnPlayerJoinedが実行されます。
OnPlayerLeft
Event_OnPlayerLeft
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のプレイヤーが退出したときに実行されます。退出した player を出力します。
OnPlayerRestored
Event_OnPlayerRestored
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のプレイヤーの永続化データ(PlayerData および PlayerObjects を含む)の読み込みがすべて完了した後にトリガーされます。データが読み込まれた player を出力します。
インスタンスに参加した際、自分自身を含め、インスタンス内にいるすべてのプレイヤーに対してOnPlayerRestoredが実行されます。他のプレイヤーがインスタンスに参加した場合は、参加したプレイヤーに対してのみOnPlayerRestoredが実行されます。
OnStationEntered
Event_OnStationEntered
ローカルプレイヤーがこのオブジェクトのステーションに入ったときに実行されます。
OnStationExited
Event_OnStationExited
ローカルプレイヤーがこのオブジェクトのステーションから出たときに実行されます。
OnVideoEnd
Event_OnVideoEnd
動画の終了、またはプレイヤーの操作によって、このオブジェクトのビデオプレイヤーの再生が終了したときに実行されます。
OnVideoError
Event_OnVideoError
Outputs: videoError - VRC.SDK3.Components.Video.VideoError
ビデオプレイヤーが動画の読み込み中にエラーを検出したときに実行されます。
OnVideoLoop
Event_OnVideoLoop
ループが有効な場合、ビデオプレイヤーがループを完了したときに実行されます。
OnVideoPause
Event_OnVideoPause
このオブジェクトのビデオプレイヤーが一時停止されたときに実行されます。
OnVideoPlay
Event_OnVideoPlay
キュー内の新しい動画の開始、一時停止の解除、またはプレイヤーの操作により、このオブジェクトのビデオプレイヤーが再生を開始したときに実行されます。
OnVideoStart
Event_OnVideoStart
停止状態から、このオブジェクトのビデオプレイヤーが再生を開始したときに実行されます。
OnVideoReady
Event_OnVideoReady
ビデオプレイヤーが新しい動画を読み込んだときに実行されます。
Player Events
OnPlayerTriggerEnter
Event_OnPlayerTriggerEnter
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のプレイヤーのカプセルコライダーがトリガーコライダーに侵入した時に呼び出されます。
OnPlayerTriggerStay
Event_OnPlayerTriggerStay
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のプレイヤーのカプセルコライダーがトリガーコライダー内に留まっている間、毎フレーム呼び出されます。
OnPlayerTriggerExit
Event_OnPlayerTriggerExit
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のプレイヤーのカプセルコライダーがトリガーコライダーから出た時に呼び出されます。
OnPlayerCollisionEnter
Event_OnPlayerCollisionEnter
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のプレイヤーのカプセルコライダーがコライダーに衝突した時に呼び出されます。
OnPlayerCollisionStay
Event_OnPlayerCollisionStay
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のプレイヤーのカプセルコライダーがコライダーと接触している間、毎フレーム呼び出されます。
OnPlayerCollisionExit
Event_OnPlayerCollisionExit
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のプレイヤーのカプセルコライダーがコライダーから離れた時に呼び出されます。
OnPlayerParticleCollision
Event_OnPlayerParticleCollision
Outputs: player - VRC.SDKBase.VRCPlayerApi
パーティクルシステム側で「Collision」および「Send Collision Messages」が有効になっている場合に、パーティクルがインスタンス内のプレイヤーのカプセルコライダーと衝突した時に呼び出されます。
OnPlayerRespawn
Event_OnPlayerRespawn
Outputs: player - VRC.SDKBase.VRCPlayerApi
ローカルプレイヤーがメニューから「Respawn」をクリックしてリスポーンした時に呼び出されます。
OnPersistenceUsageUpdated
Event_OnPersistenceUsageUpdated
Outputs: player - VRC.SDKBase.VRCPlayerApi
プレイヤーのパーシスタンス(永続データ)使用状況が更新された時に呼び出されます。
OnPlayerDataStorageExceeded
Event_OnPlayerDataStorageExceeded
Outputs: player - VRC.SDKBase.VRCPlayerApi
プレイヤーがPlayer Data Storageの容量を超過した時に呼び出されます。
OnPlayerDataStorageWarning
Event_OnPlayerDataStorageWarning
Outputs: player - VRC.SDKBase.VRCPlayerApi
プレイヤーがPlayer Data Storageの制限に近づいた時に呼び出されます。
OnPlayerObjectStorageExceeded
Event_OnPlayerObjectStorageExceeded
Outputs: player - VRC.SDKBase.VRCPlayerApi
プレイヤーがPlayer Object Storageの容量を超過した時に呼び出されます。
OnPlayerObjectStorageWarning
Event_OnPlayerObjectStorageWarning
Outputs: player - VRC.SDKBase.VRCPlayerApi
プレイヤーがPlayer Object Storageの制限に近づいた時に呼び出されます。
OnScreenUpdate
Event_OnScreenUpdate
Outputs: data - VRC.SDK3.Platform.ScreenUpdateData
ローカルプレイヤーがモバイル端末でワールドに最初に入った時、およびデバイスの向きが変更された時に発生します。以下の値を持つ ScreenUpdateData 構造体を出力します。
type-ScreenUpdateType- 現時点ではOrientationChangedのみですが、将来拡張される可能性があります。orientation-VRCOrientation- プレイヤーのデバイスの向き。VRC.SDKBase.Platform.VRCOrientationenumで、LandscapeまたはPortraitとなります。resolution-Vector2- プレイヤーのデバイスの解像度。Vector2構造体として出力されます。
OnInputMethodChanged
Event_OnInputMethodChanged
Outputs: inputMethod - VRC.SDKBase.VRCInputMethod
ローカルプレイヤーが使用する入力方法(キーボード、マウス、コントローラーなど)が切り替わった時に呼び出されます。
OnLanguageChanged
Event_OnLanguageChanged
Outputs: language - string
ローカルプレイヤーが表示言語設定を更新した時に呼び出されます。
OnPlayerSuspendChanged
Event_OnPlayerSuspendChanged
Outputs: player - VRC.SDKBase.VRCPlayerApi
インスタンス内のいずれかのプレイヤーのデバイスがサスペンド(中断)状態になったときに発生します。デバイスがスリープモードに入る、または別のアプリに切り替わると、デバイスはサスペンド状態となります。サスペンド状態のプレイヤーに対しては、復帰時にこのイベントが発生します。VRCPlayerApi.isSuspendedを確認して、それが復帰イベントなのかサスペンドイベントなのかを判別してください。
サスペンド中は、プレイヤーがVRChatを再度開くまで、デバイスはUdonコードを実行せず、ネットワークイベントにも応答しません。
VRChatでマルチプレイヤーのインタラクションを作成する際は、Udonコードが意図した通りに動作し続けるよう、サスペンド状態のプレイヤーに対して適切に対処してください。例えば、重要なオブジェクトのオーナー権限を サスペンド状態ではないプレイヤー に譲渡するなどの対応が考えられます。
プラットフォームに関係なく、いつでもデバイスがサスペンド状態になる可能性があることを考慮してコードを記述してください。PCプレイヤーは現状サスペンド状態になることはありませんが、それを前提としてコードを組むべきではありません。
OnVRCPlusMassGift
Event_OnVRCPlusMassGift
Outputs:
gifter-VRC.SDKBase.VRCPlayerApinumGifts-int
インスタンス内のいずれかのプレイヤーがギフトボムを投下したときに発生します。
OnVRCCameraSettingsChanged
Event_OnVRCCameraSettingsChanged
Outputs: camera - VRC.SDK3.Rendering.VRCCameraSettings
ユーザーがVRChatのグラフィック設定で特定のオプション("Near Clip Override" や "Field of View" など)を変更したときに発生します。
VRCCameraSettings を使用して値を直接変更しても、このイベントは発生_しません_。同様に、カメラの Position や Rotation も、これらはほぼ毎フレーム変化するため、このイベントは発生しません。
渡される camera オブジェクトは、ScreenCamera または PhotoCamera を指します(VRCCameraSettings を参照)。なお、ユーザーが PhotoCamera のズームスライダーを使用している最中や、Dollyパスによってズーム値が調整されている最中は、これらの操作が FieldOfView の値に影響を与えるため、このイベントは毎フレーム発生します。
画面の解像度変更(VRChatウィンドウのサイズ変更を含む)も、このイベントを毎フレーム呼び出します。パフォーマンスへの影響を避けるため、処理は最小限に抑えることを推奨します。
このイベントは1フレーム中に複数回発生する可能性があります。
OnVRCQualitySettingsChanged
Event_OnVRCQualitySettingsChanged
ユーザーが VRC.SDK3.Rendering.VRCQualitySettings 内の値を1つ以上変更するグラフィック設定を調整したときに発生します。
OnVRCCameraSettingsChanged と同様に、このイベントは頻繁に発生する可能性があるため、処理は軽量に保つことを推奨します。
上級者向けの注意点
このリストに含まれるすべてのノードは、System.Void 型です。
最終更新: