Skip to main content

运行与排错

在本章节,我们将了解并学习如何在不上传 VRChat 项目的前提下使用现有的工具和手段完成项目测试

在 Unity 内进行项目测试(快速测试)

 VRChat 为您提供了一个可以在 Unity 内快速测试项目的方法,即 客户端模拟器(Client Sim)

您可以将其用于测试您所搭建的内容,检查变量,简而言之,您可以十分方便的在与 VRChat 极为相似 的环境中运行您的项目,以便于进行各式各样的检查和测试。

之所以上文描述为“极为相似的环境”,是因为这个客户端模拟器在某些情况下仍有其局限性,您可能会发现某些视频播放器无法在客户端模拟器中正常使用,某些插件可能无法正常运作,更不用说在模拟器内无法进行网络同步测试等需要多端配合的测试。

您可以通过 客户端模拟器(Client Sim)官方文档 了解与其相关的更多信息。

怎么做?

在 Unity 界面的上排中心处,您可以发现一排播放按钮,点击左侧 ▶️播放 按钮即可运行 客户端模拟器

image.png

稍等片刻,您将被自动切换至 游戏窗口(Game),点击中间的 Accept 按钮即可开始像在 VRChat 一样进行测试。

0e2c8646ab645b025f9adfb58a59090f.png

当您想要 退出测试 时,点击 esc 键,在弹出的窗口中点击 Close Menu 按钮即可。

如果您想要 回到初始位置,点击 esc 键,在弹出的窗口中点击 Respawn 按钮即可。

如果您想要 调整您的身高,点击 esc 键,在弹出的窗口中找到 Player Height 滑条并左右调整即可。

8d04f162812dac4f9477f9df7d2049c0.png

使用 VRChat 客户端进行项目测试

此方法相较于前者更加准确,100%展现您的项目在 VRChat 中的表现,不过耗时较长。

此方法一般用于等待补充

等待补充使用SDK部分的内容。

推荐您使用 VRC 快捷启动工具 (VRCQL) 进行测试,

  1. 启动 VRCQL,切换到 Local,打开 "构建时启动所有选定的配置文件"。
  2. 将客户端数量设置为0,然后构建您的世界。
  3. VRCQL 自动启动具有不同配置文件的客户端(这意味着您可以让不同的用户加入同一个本地实例,这是 SDK 无法做到的)并应用自动布局。
  4. 之后,如果您正在使用 watch worlds,您可以直接关闭 VRCQL,或者您可以关闭所有客户端并再次构建和测试。


如何给项目排错?

官方解释到colsole(控制台窗口)显示生成的错误、警告和其他消息。这些错误和警告可帮助您查找项目中的问题,例如脚本编译错误。

这一个窗口的作用理解起来可能会稍加抽象,但对于接触过代码的新手来说无疑是再熟悉不过的功能区域。我们知道一个程序运行时会向外发送数据,而colsole(控制台窗口)则会接收这些信息并且将它显示出来,它是一个用户用来快速调试游戏数据的工具。

而对于大部分不涉及编码直接输出到colsole(控制台窗口)的使用场景,它提供了一个能够让插件自动报错的场地,它可以让您以最快的速度了解到Unity项目是哪些环节在运行时出现了错误,以及哪些插件出现了等的关键信息。

在默认情况下,colsole(控制台窗口)的位置在project(项目窗口)的右边,点击左上角的两个按钮以切换至不同的窗口。

黄色三角警示标 意味着有错误,但不严重,不影响游戏运行。

红色八边形警示标 意味着有错误,并且比较严重,无法运行游戏。

以您可以看到的这个黄色的三角警示标为例,这个警告信息的大致含义为“Visual Studio(一款编程开发工具)有了新的版本,请点击以更新。”。一听就十分的无关紧要,而事实也确实如此。

image.png

收集问题并提问

您可能会在学习和创作过程中遇到各种难以解决的问题,在遇到问题时,您可以放心大胆地向群里的大家求助~ 但是在提问之前,确保您能尽量地提出“优质问题”,您的问题应该能让大家方便地定位问题原因所在。

尽量遵循以下“好问题”守则:

1、明确问题场景:请详细说明您在哪个具体环节遇到了困难,这会比笼统的提问更有帮助。 比如:“我希望让我的模型的头发飘动起来,在尝试为头发添加动骨时遇到问题”要比“我的头发不会动怎么办”更有帮助。

2、尽可能详细地描述您在问题前和问题后的操作:这包括您在遇到问题前,和遇到问题后的操作,可以让大家对您的情况有一个更深入的了解。 比如:“我在我的头发中骨骼添加了一个VRC Phys Bone组件,但是它并没有生效” “我尝试着修改了组件中的这些参数,但问题并没有解决”

3、提供您的出问题时的截图:您应该尽量附上截图,这有助于群友定位您的环境,或者了解您问题的表现,原因等。

4、请在有空时询问问题:为了节省双方时间,您应该在确保自己后续有时间补充问题细节,回答其他人问题的时候再提问 这些小守则并不是强制性的,但遵循它们可以大大提高您的问题得到解决的几率。

同时,我们鼓励您分享自己的解决方案和各种想法,一起促进社区成长!~