Skip to main content

UdonGraph 基础教程:Event事件速查表

本期来盘点UdonGraph中所预设的所有事件的触发条件以及对应名称,本文将会按照官方文档中记载的顺序进行讲解,如果需要阅读原文请点击https://docs.vrczh.org/udonsharp.docs.vrchat.com/events#udon-update-events跳转至官方文档。


UdonGraphEvent事件速查

Udon Events:Udon独有事件

本类下的事件由来自UdonSharpBehaviour,是Vrchat独有的事件类型。

Udon Update Events:Udon更新事件(1Event)

833Gq13PALR3L7CU-bb9da30abef068a005cf0b0a276478f9.png

PostLateUpdate()

 

 

在计算 IK 后,在帧的末尾附近触发。此时获取骨骼位置将为您提供最新的位置,以便它们不会落后一帧。

Udon Input Events:Udon 输入事件(9Event)

此事件将会在所有平台以统一的方式读取玩家控制器的输入,即使玩家重新映射(更改绑定)控制器,这些事件也将会正常工作。

以下所有说到的对应案件仅指的是在玩家没有更改自己的默认设置的情况下的可能位置,实际上只要对应的条件达到,无论是什么东西触发的事件都会正常触发。

Event:Interact:触发事件

ed579bf0259f7722ead50c064c9e39aa.png

Interact()

当 VRChat 玩家与此对象交互时触发。
Button Events:按钮事件

按钮事件包括一个 bool 值,按下按钮时为 true,释放按钮时为 false

除了按钮事件之外,组件还会带有一个UdonInputEventArgs的对象,对象定义请进入下方链接查看:

https://creators.vrchat.com/worlds/udon/input-events/#udoninputeventargs

7af004c2d790c885ddc46d7130ed8939.png

InputJump()

 触发条件:跳跃键:PC上的空格,控制器上的Face按钮

f78b17c328f3578a4fda9fd8b1231075.png

InputUse()

触发条件:触发键:在 PC 上单击鼠标左键,控制器上的触发(前扳机)按钮

image.png

InputGrab()

触发条件:抓握:在桌面上单击鼠标左键,通常是 VR 控制器上的抓握按钮

6728b0644ccfea30906034ae6eb83565.png

InputDrop()

触发条件:结束抓握:在桌面上单击鼠标左键,松开 VR 控制器上的抓握按钮

Axis Events:方向轴事件

事件的 float 值通常介于 -1 和 1 之间。当使用带有模拟摇杆的控制器时,每次值变化都会触发一个新事件,从 0 到 0.1,然后到 0.2,依此类推。桌面用户将输出整数:-1、0、1 等。

824b304323907a4b4ab5e540376b339c.png

InputMoveHorizontal()

输入水平移动

桌面上的 A 和 D,通常是控制器上左右移动的左摇杆/垫

f37e350e7ae95f039d897a250872c182.png

InputMoveVertical()

输入垂直移动(前后移动)

桌面上的 W 和 S,通常是控制器上下移动的左摇杆/垫

image.png

InputLookVertical()

输入垂直视角(上下看)

在桌面上上下移动鼠标,通常是在游戏手柄和 VR 控制器上上下移动右摇杆。

image.png

InputLookHorizontal()

输入水平视角(左右看)

在桌面上左右移动鼠标,使用右摇杆/手柄向左和向右转动,无需舒适打开 VR 控制器,通常是在游戏手柄控制器上左右右摇杆。

Udon Pickup Events:Udon拾取事件(4Event)

本类下的四个事件都需要保证物体已经挂载了VrcPickup脚本,您可以在以下链接找到关于这个脚本的信息

https://docs.vrczh.org/creators.vrchat.com/worlds/components/vrc_pickup

image.png

OnDrop()

当 VRChat 玩家在抓住后放置此对象时触发。

image.png

OnPickup()

当 VRChat 播放器拾取此对象时触发

image.png

OnPickupUseup()

按住此对象并按下 Use 按钮时触发。按钮向上时触发。在桌面上需要 'Auto Hold'。

image.png

OnpickupUseDown()

按住此对象并按下 Use 按钮时触发。按下按钮时触发。在桌面上需要 'Auto Hold'。

Udon Networking Events:Udon网络事件(5Event)

image.png

OnOwnershipRequest()

当 UdonBehaviour 将要更改所有者时触发。

 

将会返回UdonBehaviour是否接受所有权变更

image.png

OnOwnershipTransferred()

每次 UdonBehaviour 更改所有者时触发

image.png

OnpreSerialization()

在发送网络数据之前触发

image.png

OnpostSerialization()

在发送网络数据后触发,并提供有关序列化尝试是否成功以及序列化了多少字节的数据。

image.png

OnDeserialization()

收到网络数据时触发

Udon Player Events:Udon玩家活动(11Event)

该类下的事件还会附带触发事件的玩家的数据,以供处理

image.png

当玩家加入时触发

 


image.png

当玩家离开时触发

image.png

当玩家重生时触发

image.png

当玩家进入触发器区域时触发

image.png

当玩家停留在触发器区域时触发

image.png

当玩家离开触发器区域时触发

image.png

当玩家和碰撞体碰撞时触发

167fbe634a89f05f0759613f98a0b940.png

当玩家停留在碰撞体上时触发

image.png

当玩家离开碰撞体时触发

image.png

当碰撞粒子击中玩家时触发

509c96bab750d250b683c2b418b18cac.png

当碰撞体与玩家触碰时触发

Udon Station Events:Udon站点事件(2Event)

具体用法请看官方文档,这里只介绍触发事件

https://docs.vrczh.org/creators.vrchat.com/worlds/components/vrc_station

image.png

OnstationEntered

当玩家进入时触发

image.png

OnStationExited

当玩家离开时触发

Udon Video Events:Udon视频播放器事件(5Event)

UdonGraph不存在Pause和Start两个事件,请注意

28af213c51fedfff2175bc519e4d17fd.png

OnVideoEnd()

当视频播放器结束播放时

6fe62c4bf64c3afdd4a9cc9bc7c8e9b0.png

OnvideoError

当播放器发生错误时

b5aa54abbdc8929208fd8ba16f824b7f.png

OnVideoLoop

如果启用了循环,这将在结束时触发

24428cc0837c4732bc1c8640312937dc.png

OnvideoStart

首次播放视频时(未确认)

12404df475ab24ab7e1db5e3a64af997.png

OnvideoRedy

当视频播放器加载了 url 时

Udon MIDI Events:UdonMIDI事件(3Event)

请移步https://docs.vrczh.org/creators.vrchat.com/worlds/udon/midi/查看关于Midi的相关信息以及参数定义

dd3fbfcb2e7de950c61d4a65381ac5c1.png

MidiNoteON

接收到 "Note On" 时触发。无论是 MIDI 回放还是按下您乐器上的按键都会触发该事件。

cd314bbee859fe2950d87dd72e883b4d.png

MidiNoteOFF

接收到 "Note On" 时触发。一般会在松开您乐器上的按键时触发的。

d3c49921fcb8f63c19e51bc6cade323c.png

MidiControlChange

接收到控制变化时触发。这些变化通常由 Midi 设备上的旋钮和滑块发出。

Udon String/Image Loading Events:Udon 字符串/图像加载事件(4Event)

具体使用方式请阅读:

https://docs.vrczh.org/creators.vrchat.com/worlds/udon/string-loading:字符串加载

https://docs.vrczh.org/creators.vrchat.com/worlds/udon/image-loading:图像加载

4e20ceac1836a250a6eecb222fe4bc04.png

OnImageLoadSuccess

当图像下载成功时触发。

760644e41199e4f8df2e942fa6e26966.png

OnImageLoadError

镜像下载失败时触发。

29c14646999ea1ee2a5b05bd9636273b.png

OnstringLoadSuccess

字符串下载成功时触发。

2ca163c5c840119d79d5b9fde23df13f.png

OnstringLoadError

字符串下载失败时触发。

Unity Events:Unity事件

并非Udon特有的事件,而是Unity原生自带的事件,事件一共有28个事件,覆盖了大部分的使用场景





















未完待续

未完待续……