事件节点
这是被视为"事件"的 Udon 节点列表。
您的脚本可以使用事件来检测动作并触发动作或逻辑链。输入事件有自己单独的页面。要跳转到图表中的事件,请在图表侧边栏中单击它。
以下所有节点在需要逻辑的地方都有流程节点。
更多与网络相关的事件列在网络组件页面上。
Interact
当本地玩家与此 GameObject 交互时触发。
- 玩家只能与具有碰撞器组件和 UdonBehaviour 组件的 GameObject 交互。
- 如果你希望玩家与 2D UI 交互,请改用 VRC Ui Shape 和按钮组件。
OnDrop
当本地玩家放下持有的此对象时触发。
OnPickup
当此对象被本地玩家拾取时触发。
OnPickupUseDown
当本地玩家持有此对象并按下"使用"按钮时触发。在按钮按下时触发。桌面端需要"自动持有"。
OnPickupUseUp
当本地玩家持有此对象并按下"使用"按钮时触发。在按钮释放时触发。桌面端需要"自动持有"。
OnPlayerJoined
输出:player - VRC.SDKBase.VRCPlayerApi
当任何玩家加入实例时触发。输出加入的 player。
当你加入实例时,你为实例中的每个玩家(包括自己)执行 OnPlayerJoined。当其他玩家加入你的实例时,你仅为加入的玩家执行 OnPlayerJoined。
OnPlayerLeft
Event_OnPlayerLeft
输出:player - VRC.SDKBase.VRCPlayerApi
当实例中的任何玩家离开时触发。输出离开的 player。
OnPlayerRestored
Event_OnPlayerRestored
输出:player - VRC.SDKBase.VRCPlayerApi
当实例中玩家的所有持久数据加载完成后触发,包括他们的所有 PlayerData 和 PlayerObjects。输出数据已加载的 player。
当你加入实例时,你为实例中的每个玩家(包括自己)执行 OnPlayerRestored。当其他玩家加入你的实例时,你仅为加入的玩家执行 OnPlayerRestored。
OnStationEntered
Event_OnStationEntered
当本地玩家进入此对象上的载具时触发。
OnStationExited
Event_OnStationExited
当本地玩家离开此对象上的载具时触发。
OnVideoEnd
Event_OnVideoEnd
当此对象上的视频播放器播放完毕时触发,无论是视频结束还是玩家交互。
OnVideoError
Event_OnVideoError
输出:videoError - VRC.SDK3.Components.Video.VideoError
当视频播放器加载视频时遇到错误触发。
OnVideoLoop
Event_OnVideoLoop
如果启用了循环,当视频播放器完成一次循环时触发。
OnVideoPause
Event_OnVideoPause
当此对象上的视频播放器暂停时触发。
OnVideoPlay
Event_OnVideoPlay
当此对象上的视频播放器开始播放时触发,无论是队列中新视频开始、取消暂停还是玩家交互。
OnVideoStart
Event_OnVideoStart
当此对象上的视频播放器从停止状态开始播放时触发。
OnVideoReady
Event_OnVideoReady
当视频播放器加载新视频时触发。
玩家事件
OnPlayerTriggerEnter
Event_OnPlayerTriggerEnter
输出:player - VRC.SDKBase.VRCPlayerApi
当实例中任何玩家的胶囊碰撞器进入触发器碰撞器时触发。
OnPlayerTriggerStay
Event_OnPlayerTriggerStay
输出:player - VRC.SDKBase.VRCPlayerApi
当实例中任何玩家的胶囊碰撞器位于触发器碰撞器内部时,每帧触发。
OnPlayerTriggerExit
Event_OnPlayerTriggerExit
输出:player - VRC.SDKBase.VRCPlayerApi
当实例中任何玩家的胶囊碰撞器离开触发器碰撞器时触发。
OnPlayerCollisionEnter
Event_OnPlayerCollisionEnter
输出:player - VRC.SDKBase.VRCPlayerApi
当实例中任何玩家的胶囊碰撞器进入碰撞器时触发。
OnPlayerCollisionStay
Event_OnPlayerCollisionStay
输出:player - VRC.SDKBase.VRCPlayerApi
当实例中任何玩家的胶囊碰撞器位于碰撞器内部时,每帧触发。
OnPlayerCollisionExit
Event_OnPlayerCollisionExit
输出:player - VRC.SDKBase.VRCPlayerApi
当实例中任何玩家的胶囊碰撞器离开碰撞器时触发。
OnPlayerParticleCollision
Event_OnPlayerParticleCollision
输出:player - VRC.SDKBase.VRCPlayerApi
当粒子与实例中任何玩家的胶囊碰撞器碰撞时触发,前提是该粒子系统已开启"碰撞"和"发送碰撞消息"。
OnPlayerRespawn
Event_OnPlayerRespawn
输出:player - VRC.SDKBase.VRCPlayerApi
当本地玩家通过点击菜单中的"重生"重生时触发。
OnPersistenceUsageUpdated
Event_OnPersistenceUsageUpdated
输出:player - VRC.SDKBase.VRCPlayerApi
当玩家的持久存储使用量更新时触发。
OnPlayerDataStorageExceeded
Event_OnPlayerDataStorageExceeded
输出:player - VRC.SDKBase.VRCPlayerApi
当玩家超出其玩家数据存储限制时触发。
OnPlayerDataStorageWarning
Event_OnPlayerDataStorageWarning
输出:player - VRC.SDKBase.VRCPlayerApi
当玩家接近其玩家数据存储限制时触发。
OnPlayerObjectStorageExceeded
Event_OnPlayerObjectStorageExceeded
输出:player - VRC.SDKBase.VRCPlayerApi
当玩家超出其玩家对象存储限制时触发。
OnPlayerObjectStorageWarning
Event_OnPlayerObjectStorageWarning
Outputs: player - VRC.SDKBase.VRCPlayerApi
当玩家接近其玩家对象存储限制时触发。
OnScreenUpdate
Event_OnScreenUpdate
输出:data - VRC.SDK3.Platform.ScreenUpdateData
当本地玩家首次进入移动设备上的世界以及设备方向更改时触发。输出包含以下值的 ScreenUpdateData 结构:
type-ScreenUpdateType- 目前仅为OrientationChanged,未来可能扩展。orientation-VRCOrientation- 玩家设备的方向,作为VRC.SDKBase.Platform.VRCOrientation枚举,值为Landscape或Portrait。resolution-Vector2- 玩家设备的分辨率,作为Vector2结构。
OnInputMethodChanged
Event_OnInputMethodChanged
输出:inputMethod - VRC.SDKBase.VRCInputMethod
当本地玩家使用不同的输入方法(键盘、鼠标、控制器等)时触发。
OnLanguageChanged
Event_OnLanguageChanged
Outputs: language - string
当本地玩家更新其显示语言时触发。
OnPlayerSuspendChanged
Event_OnPlayerSuspendChanged
Outputs: player - VRC.SDKBase.VRCPlayerApi
当实例中任何玩家的设备变为挂起状态时触发。设备在进入睡眠模式或切换到其他应用时会被挂起。对于被挂起的玩家,此事件将在唤醒时触发。检查 VRCPlayerApi.isSuspended 以确定是唤醒还是挂起事件。
挂起时,设备不会运行 Udon 代码或响应网络事件,直到玩家重新打开 VRChat。
当你在 VRChat 中创建多人互动时,你应该对挂起的玩家做出反应,以确保你的 Udon 代码按预期继续运行。例如,你可能希望将重要对象的所有权转移给未被挂起的玩家。
你的代码应考虑到任何设备随时可能被挂起,无论平台如何。PC 玩家目前永远不会被挂起,但不应以此为前提。
OnVRCPlusMassGift
Event_OnVRCPlusMassGift
Outputs:
gifter-VRC.SDKBase.VRCPlayerApinumGifts-int
当实例中任何玩家投放礼物炸弹时触发。
OnVRCCameraSettingsChanged
Event_OnVRCCameraSettingsChanged
Outputs: camera - VRC.SDK3.Rendering.VRCCameraSettings
当用户在 VRChat 图形设置中更改某些选项时触发,例如"近裁剪覆盖"或"视野"。
通过 VRCCameraSettings 自行更改值不会触发此事件!同样,相机的 Position 和 Rotation 也不会触发它,因为它们几乎每帧都在变化。
传入的 camera 对象指的是 ScreenCamera 或 PhotoCamera(参见 VRCCameraSettings)。请注意,当用户使用 PhotoCamera 上的缩放滑块或 Dolly 路径调整缩放值时,此事件将每帧触发,因为它们会影响 FieldOfView 值。
更改屏幕分辨率,包括通过调整 VRChat 窗口大小,也会每帧调用此事件。建议进行最小处理以避免影响性能。
此事件可能每帧触发多次。
OnVRCQualitySettingsChanged
Event_OnVRCQualitySettingsChanged
当用户调整影响 VRC.SDK3.Rendering.VRCQualitySettings 中一个或多个值的图形设置时触发。
与 OnVRCCameraSettingsChanged 类似,此事件可能频繁触发,建议保持轻量处理。
高级说明
此列表中的所有节点的类型都是 System.Void。