Skip to main content

使用构建和测试

note

在阅读此页面之前,您应该先阅读什么是 Udon?

世界中一些简单的内容只需在编辑器中按"播放"即可工作——鼠标事件、计时器等不需要 Avatar 交互或网络功能的内容。对于许多有趣的功能,您需要构建一个在真实 VRChat 客户端中运行的世界。

打开 UdonExampleScene​

从 VRChat 示例文件夹中打开 UdonExampleScene——此场景中有许多可重用的优秀图表供您学习。它已设置为可以直接工作,因此我们可以使用它来确保一切正常运行。

设置您的设置​

  1. 首先创建一个新项目,确保 Worlds SDK 已正确导入,然后通过菜单栏中的"VRChat SDK > Show Control Panel"打开 VRChat 控制面板。

  1. 在"Authentication"选项卡中输入您的登录信息,然后按"Sign In"。

  2. 单击"Settings"选项卡,在底部找到"VRChat Client"条目。这是 Unity 将用于测试世界的 VRChat 客户端。如果不设置此项,世界可能无法正确启动。

按"Edit"打开文件选择器,然后导航到安装 VRChat 的位置并选择 VRChat.exe 程序。以下是一些可能的默认位置:

  • Steam:C:\Program Files (x86)\Steam\steamapps\common\VRChat\VRChat.exe
  • Oculus:C:\Program Files\Oculus\Software\Software\vrchat-vrchat\VRChat.exe
  • Viveport:C:\Viveport\ViveApps\469fbcbb-bfde-40b5-a7d4-381249d387cd\1597468388\VRChat.exe
  1. 切换到"Builder"选项卡。我们需要按照 VRChat 期望的方式设置图层和碰撞矩阵。只需按"Setup Layers for VRChat"按钮,然后在出现的弹出窗口中按"Do it!"。

接下来,对"Set Collision Matrix"按钮执行相同操作。

运行您的第一次测试​

所有设置正确后,我们就可以构建场景了。按照上述说明清除了 Builder 选项卡中的问题后,您就可以使用"Build & Test"按钮了。在第一次测试中,开启"Force Non-VR",然后按"Build & Test"。

您的 VRChat 客户端应启动到该世界的本地副本中,您可以在其中四处奔跑并尝试所有功能!

启动多个客户端​

为了测试同步变量和自定义网络事件,您需要在同一世界中有多个人。最简单的方法是使用 Builder 选项卡启动多个客户端。关闭刚启动的 VRChat 客户端窗口(如果仍打开),将"Number of Clients"改为 2,然后再次按"Build and Test"。这次,Unity 将打开两个 VRChat 客户端,两者中都是您的同一个 Avatar。您可以在窗口之间切换来控制两个 Avatar,甚至可以看到自己在两个窗口中说话。尝试使用同步变量区域。第一个加载的 Avatar 将成为实例的主控者,因此也是这些 GameObject 的所有者,他们可以更新 UI 元素,而第二个 Avatar 只能看到更新。此场景中唯一的例外是"SyncButtonAnyone",它将所有权转移给点击它的任何人。

构建与重新加载​

在测试多个客户端时,每次对世界进行更改时安排窗口并等待 VRChat 登录可能很麻烦。您可以将启动的"Number of Clients"更改为 0,从而将"Build & Test"变为"Build & Reload"。

Build & Reload!

这将构建您世界的新版本,并将所有打开的客户端移动到新的本地实例中,完全跳过 VRChat 启动序列。

如果您想使用多个配置文件进行测试,也可以为自己启动的客户端执行此操作。您可以使用新的命令行标志 --watch-worlds 来启用此功能。例如,以下命令使用我的主配置文件在桌面模式下启动 VRChat,启用完整调试,分辨率为 1920x1080,并开启世界重新加载。

VRChat.exe --watch-worlds --profile=0 --no-vr --enable-debug-gui --enable-sdk-log-levels --enable-udon-debug-logging -screen-width 1920 -screen-height 1080
新的"Build & Test"客户端不会加入重新加载的世界

如果您构建并重新加载了一些客户端,然后选择"Build & Test"添加更多客户端,它们可能不会加入正确的房间。但是,您只需将客户端数量减少回 0,然后"Build & Reload"或"Reload Last Build",即可将它们全部重新连接在一起。