障碍赛道:使用演示部件构建
打开起始场景
制作新赛道最简单的方式是使用我们提供的模型和预制体。 首先打开场景 "_WorldJam2/Scenes/Starter.unity"。
创建自己的文件夹
将项目特定内容保存在 "_WorldJam2" 文件夹之外的文件夹中非常重要,这样导入更新时不会覆盖您的工作。建议在 Assets 下创建一个新文件夹,本演示中我们将其命名为 "_MyProject"。我们在重要文件夹名称前加下划线,以便它们在按字母排序的文件列表中显示在顶部。
创建新赛道资源
ObstacleCourseAsset 包含关于检查点、玩家预制体、分数显示、增强道具等的所有特殊信息。
- 在 Project 窗口中,找到 "_WorldJam2/Courses" 下的 "StarterCourse.asset" 并复制它。
- 将新赛道重命名为自定义名称,如 "MyCourse.asset",然后移动到 "_MyProject" 文件夹。
- 在层级视图中,选择 "Udon/CourseManager" 下的 CourseManager。
- 将刚创建的新赛道资源拖放到 CourseManager 对象上的 Obstacle Course Data 脚本的 "Asset" 字段。

现在所有更改都将保存到自定义赛道而非 Starter 赛道中。
添加赛道部件
所有可用的赛道部件可在项目的 "Assets/_WorldJam2/Prefabs/Course Pieces" 下找到。

- 要向赛道添加新部件,只需将其拖放到场景视图中。拖动时按住 CTRL 键可将项目对齐到网格。
- 如果在任何部件上使用了 Udon,请确保将其从预制体解包为常规 GameObject。这样做还可以在加载项目更新包时避免覆盖已存在的部件。
Unity 有许多对齐项目到网 格的设置 - 查看 Unity 手册
添加检查点
起始门、检查点和终点门最好通过我们为此创作大赛创建的特殊工具窗口添加。
-
从菜单栏中打开 Obstacle Jam Utilities Window,路径为 "⏵Obstacle Jam Utilities / Open Window"
-
查看预制体:

构建可用赛道只需要这三个预制体——起始门、检查点和终点门。
-
工具窗口使添加新检查点变得非常容易。从"检查点预制体(Checkpoint Prefabs)"列表中选择一个预制体,将鼠标移到场景视图上。您会看到所选预制体的预览,它会智能地尝试放置在您指向的表面上——注意在下面的 GIF 中,门会吸附到方块的侧面,直到我指向顶部。
-
位置满意后,按空格键实际添加预制体并将其连接到场景中。

-
通过这种方式添加检查点预制体后,它会自动添加到"场景中的检查点(Checkpoints In Scene)"列表。打开该列表即可看到新的检查点:
选择其中一个检查点,场景视图将聚焦到它上面。也可以在层级视图中看到它被选中。如果点击层级视图中这个新的"Checkpoint 1"对象旁边的三角形,可以看到上面有一个 UdonProgram。选择该 UdonProgram,可以看到其 'index' 已自动设置为 1。
- 继续在赛道周围添加检查点,直到有足够数量开始使用。如果需要重新排序,可以使用"场景中的检查点"列表中的上下箭头更改玩家通过门的顺序。按此方式更改顺序时,检查点的索引会随之更新,其名称也会相应改变。
测试检查点
至此,您已扩展或更改了赛道并添加了一些检查点——是时候测试了!打开 VRChat SDK 控制面板,登录账户,选择"构建和测试(Build & Test)"来测试赛道!
如果启动世界时遇到问题,或想了解更多关于本地测试的信息,请查阅构建和测试文档。
添加增强道具
添加一些增强道具让比赛更有趣。
- 在工具窗口中,打开"增强道具(Power Ups)"部分。它与检查点部分非常相似,可以修改已放置增强道具的不同参数。

- 选择一个增强道具预制体,然后像放置检查点一样,将鼠标指向表面并按空格键将其放置到场景中。
- 放置增强道具后,Transform 工具将被选中,以便微调项目位置。
- 新的增强道具会出现在"场景中的增强道具(PowerUps In Scene)"部分。可以使用增强道具名称右侧的字段来更改其对玩家的效果。可以使用负数来_降低_玩家的速度和跳跃,但负数持续时间无效。
- 选择增强道具会自动在场景视图中聚焦它并在层级视图中选中它。如果要移除某个增强道具,可以将其从场景中删除,然后按工具窗口底部的"刷新(Refresh)"按钮更新列表。
还可以在此部分更改默认的移动速度(Move Speed)和跳跃冲量(Jump Impulse)。请确保不要在世界中放置 VRCWorldSettings 程序,否则会与这些设置冲突。
移动速度将行走(Walk)、**奔跑(Run)和平移(Strafe)**速度设为相同值。
测试增强道具
再次**构建和测试(Build & Test)**场景来试用新的增强道具!
添加障碍物
-
在 "Assets/_WorldJam2/Prefabs/Hazards" 中找到障碍物预制体

-
这些不需要特殊工具,因为它们无需复杂设置。只需拖放到场景中并微调位置即可。
-
放置障碍物后,右键单击层级视图中的 GameObject,选择"完全解包预制体(Unpack Prefab Completely)"。这样可以确保项目更新不会覆盖已创建的障碍物,并避免 Udon 和预制体的一些已知问题。

-
放置完障碍物后,按工具窗口底部的"刷新(Refresh)"按钮。这将向障碍物注入一些引用,使其能在玩家接触时正确重生玩家。
模块化障碍物
我们包含的障碍物是模块化的,因此你可以轻松修改它们的外观和难度。每个移动障碍物由一个设置为"Trigger"的碰撞体组成,附加到一个动画游戏对象上。你可以使用我们包含的不同课程部件或套件组合其他资源包,为全新的障碍物概念添加不同的网格和触发器放置位置。
包含的四种移动障碍物类型为你提供了水平、垂直、旋转和摆动障碍物的起点。你可以通过 Animator 窗口更改每种类型的速度。

检查障碍物
是时候再次构建和测试了!
设置玩家数量
最好将障碍赛世界中的 Number of Players 设置为世界 Player Capacity 的两倍。只需在 Utility Window 中更改此字段中的数值,管理 Player Objects 的 Object Pool 将自动填充该数量的玩家,并为所有玩家设置所需的变量。
Build & Publish
当你准备好邀请朋友帮助测试你的世界时,可以 Build & Publish 使其在 VRChat 中可用。你需要设置世界名称、拍照分享,当你准备好让更多人看到时,可以提交到 Community Labs!
在 VRChat 中发布世界之前需要花费一些时间。在此了解更多:FAQ
如果想探索更多自定义障碍赛道的选项,可以继续阅读使用自定义部件构建