Udon 节点图
Udon 节点图是创建 Udon 程序的默认界面。本节介绍如何使用它。如果您想直接看示例,请查看 Udon 示例场景。
界面
您可以使用 VRChatSDK > Udon Graph 菜单项打开 Udon Graph 窗口,或单击 UdonBehaviour 组件上的 Open Udon Graph 按钮。

如果通过菜单命令打开窗口,您会看到欢迎屏幕,其中包含更新日志和一些设置。
可以同时打开多个图表,您可以使用图表窗口顶部的选项卡在它们之间切换。
您可以通过点击要关闭的选项卡角落的 X 来关闭选项卡。图表选项卡不是"真正"的选项卡,每次选择时都会重新打开。这意味着切换选项卡所需的时间与打开图表相同。
流程
图表的流程定义了哪些节点将运行以及它们执行的顺序。

上图中的三角形是_流_端口,它们从左到右依次触发,沿着连接它们的连线。要理解 Udon 图表中发生的事情并制作自己的图表,请_跟随流程_。
顶部栏有一个"Highlight flow"切换开关,启用后会高亮通过 流程边连接的节点,让您快速了解程序如何到达特定节点。

如果节点没有任何流程连接,则不会发生任何事情。
在上面的图表中:
- 世界加载时触发 Start 事件
- 接下来触发 Branch。它检查复选框的值,然后触发 True 或 False 路径。
- 如果值为 True,则触发顶部节点,发送一个名为 "Hello" 的自定义事件。
- 否则,发送一个名为 "Goodbye" 的自定义事件。
如果您还不了解发送自定义事件的含义,没关系。学习阅读图表的流程是理解它们作用的第一步。
创建节点
节点是代表您可以触发的方法的方框。构建图表包括创建节点并将它们连接在一起以创建程序。
有几种创建节点的方法:
快捷键
按住以下其中一个键,然后点击图表上的任意位置以创建对应的节点:
1: float2: Vector23: Vector34: Vector4+: float 加法-: float subtraction=- float equality comparisonb: Branchshift+b: Block
其他快捷键:
- 按住"C"并点击常量可将其转换为变量。
- Shift+A 对齐选中的节点
- 按住 Ctrl+G 快速分组
- L+单击记录选中节点的值
- 按住"Shift+F"并点击输出数组类型的节点,自动生成 foreach 循环
其中许多功能也适用于各节点的右键菜单。

拖放 GameObject 和组件
如果你想为 GameObject 或 Component 添加交互,可以将它们从层级拖放到图表中。例如,你可以通过从'Light'标题拖放到图表来拖放 Light 组件。
通过拖放创建节点的方式会创建与你的 GameObject 或 Component 绑定的变量,因此你会在变量窗口中看到一个新变量,以及 一个实际上是"Get Variable"节点的节点,该节点自动设置为获取你的新组件。
拖放变量
你可以通过按图表侧边栏变量窗格中的 + 按钮来创建任何类型的变量。然后你可以将变量名拖放到图表上以创建"Get Variable"节点,按住 Ctrl 键拖动可创建"Set Variable"节点,或按住 Alt 键创建"On Variable Changed"节点。
搜索节点
按 空格键 打开快速搜索,然后输入你要交互的类的前几个字母。
如果你了解 Unity 的基本类和对象类型,这种搜索方法效果最佳。还有其他搜索方法,参见:搜索节点
编译图表
图表会定期在后台自动编译。此时,你会在图表的右上角看到一次闪烁,如果一切正常,状态框将变为绿色;如果有问题,则变为红色。无论哪种情况,你都可以单击状态框查看生成的汇编代码,或查看错误信息(如果有问题)。
运行图表
将图表上传到 VRChat 之前,有两种方法可以在场景中运行它们。
在编辑器中运行
你可以使用 Unity 的"播放"按钮直接在编辑器中运行场景,以测试某些图表。这对于一些简单的方法和逻辑有效,但以下项目无法正常工作:
- 同步变量和网络事件
运行 Build & Test
使用 VRChat SDK 窗口进行本地测试。这需要稍长的时间,因为它会将你的内容打包到离线世界中,并启动实际的 VRChat 客户端,为你提供一个可以交互对象和 VRCPlayerAPI 请求的化身。
要测试同步变量和网络事件,你需要两个客户端——你可以使用"客户端数量"字段启动最多 8 个本地客户端,它们将在私有测试世界中启动。它们都有相同的显示名称,但将被视为不同的玩家,以便你可以测试交互。
如果"Force Non-VR"对你不起作用,请切换到 VRChat SDK 窗口的"设置"选项卡,并将你的 VRChat 客户端路径设置指向实际的 VRChat 安装。
上传你的世界
一旦你创建了 VRChat 账户,就可以进行 Build & Test。要发布世界以便其他人可以访问,你需要在 VRChat 中花费一些时间——访问世界、结交朋友并获得灵感!