由于 Roblox 引擎的 客户端-服务器模型,在 向公众发布 之前,测试游戏的各种模式非常重要。所有测试选项都可以在夹层的左侧部分访问。

游戏测试
有三种常见的游戏测试选项。选择下拉菜单中的所需选项,然后单击其右侧的 播放 按钮以开始游戏测试。

| 模式 | 快捷键 | 描述 |
|---|---|---|
| 测试 | F5 | 开始模拟游戏,将你的头像插入到 SpawnLocation 或大约在 (0, 100, 0) 的坐标位置。 |
| 在此测试 | 开始模拟游戏,将你的头像插入在相机当前的位置前面。 | |
| 运行 | F8 | 开始模拟游戏,但不插入你的头像。模拟从当前相机位置开始,你可以使用Studio相机控制移动。 |
一旦游戏测试开始,夹层中会提供额外的选项。

| 操作 | 快捷键 | 描述 |
|---|---|---|
| 暂停 / 恢复 | 让您 暂停/恢复物理和动画。 | |
| 停止 | ShiftF5 | 停止游戏的模拟并将所有对象和实例重置为游戏测试之前的状态。 |
| 客户端 / 服务器 | 在“单人”模式下进行游戏测试时(测试或在此测试),在 客户端 模式和 服务器 模式之间切换。有关详细信息,请参见 切换客户端/服务器。 |
切换客户端/服务器
在 测试 或 在此测试 模式下进行测试时,工作室运行两个独立的模拟 — 一个 客户端 模拟和一个 服务器 模拟 — 这可以更准确地反映游戏在生产中的执行方式。
在单人游戏测试期间,您可以通过单击 客户端/服务器 切换按钮在 客户端 和 服务器 模式之间切换。当您切换时,按钮会更改以反映当前的模拟模式。


根据模拟模式,您对角色和相机的控制会发生如下变化:

在 资源管理器 窗口层次结构中,某些对象仅存在于其预期的容器中。


在 输出 窗口中,消息标记为 蓝色(客户端)或 绿色(服务器),指示它们来自客户端或服务器。对于从 ModuleScripts 输出的消息,标签颜色由模块是从客户端的 LocalScript 还是从服务器的 Script 调用决定。

暂停/恢复
在单人游戏测试期间,暂停/恢复 按钮对于调试短暂场景和机制非常有用,而无需禁用渲染。

默认情况下,暂停和恢复会同时作用于客户端 和 服务器。如果您希望仅暂停或恢复客户端 或 服务器:
- 根据您希望暂停/恢复的模拟设置 客户端/服务器切换。
- 单击 暂停/恢复 按钮上的小箭头并选择 暂停/恢复 客户端 或 暂停/恢复 服务器 的替代选项。单击按钮将仅暂停或恢复该侧的模拟。
当模拟被暂停时,您可以通过单击 向前一步 按钮向前推进 1/60 秒(60 Hz)。与其左侧的 暂停/恢复 按钮一样,单击小箭头可以让您根据 客户端/服务器切换 选择仅为客户端 或 服务器进行步进。

请注意以下与暂停/恢复相关的技术细节:
- 尽管 Animations 不基于物理,这些工具栏按钮也会暂停/恢复动画。
- 暂停或恢复对正在运行的脚本没有影响。
- 只有 RunService 回调 PreAnimation、PreSimulation、PostSimulation 和 Stepped 可以通过这些工具栏按钮暂停或恢复。其他回调(PreRender、Heartbeat 和 RenderStepped)继续触发,保持相机脚本、渲染可视化和插件的正常功能。
多客户端模拟
下拉菜单中的 服务器和客户端 选项允许您启动多个工作室会话,一个作为服务器,其他每个作为客户端。此测试模式是比较客户端在游戏中“看到”其他客户端的有价值工具。
在下拉菜单中选择 服务器和客户端 选项,选择要测试的客户端会话数量。通常 1-2 个客户端就足够了,尽管您可以模拟最多八个。

按 播放 按钮或 F7 开始客户端-服务器模拟。
测试完成后,从任何模拟会话中按 结束会话 按钮以关闭所有模拟客户端和模拟服务器。

聚会模拟
聚会模拟器 允许您直接在工作室中测试和调试使用聚会相关 API 的游戏,而无需发布和协调多个设备。此工具允许您为测试玩家配置和模拟聚会,在您的 服务器和客户端 游戏测试中。
在游戏测试时,聚会模拟器会自动将所有测试玩家分配到配置的模拟聚会中。

如果启用了聚会模拟器:
- 每个 Player.PartyId 属性反映聚会模拟器的分配。
- SocialService:GetPartyAsync() 返回模拟的聚会数据表。
您可以随时使用工作室的 服务器和客户端 设置调整本地测试玩家的数量。当测试玩家数量发生变化时,模拟器会自动更新以包含或移除配置中的玩家。
协作测试
如果您与其他人一起在 协作 模式下开发游戏,您可以按如下方式与其他协作者进行测试:
在下拉菜单中选择 团队测试,然后按 播放 按钮以打开一个新的工作室会话,并插入您的角色。

其他协作者可以通过在其工作室会话中按 播放 按钮加入。
设备仿真
设备仿真器可从Studio的测试菜单访问,允许您直接在Studio中仿真各种设备,从而洞察移动设备、主机和VR头戴设备上控件的工作方式,以及如何在不同屏幕分辨率和纵横比下展示屏幕上UI元素。
在仿真模式下,您可以从3D视口上方的设备选择器下拉菜单中选择设备,以仿真较低性能的设备并测试启用流媒体的游戏,其中3D内容会根据可用内存动态加载和卸载。您还可以调整视图大小并在横屏和竖屏模式之间切换方向。

触摸模拟
当在 设备模拟器 中选择移动设备时,触摸模拟会自动启用。在进行游戏测试时,可以通过点击和拖动鼠标来模拟单触摸和双触摸手势。默认情况下,鼠标交互将模拟单触摸手势。
Studio 支持以下快捷键来模拟双触摸手势。快捷键也可以通过 Studio 的 自定义快捷键 菜单进行自定义。
| Windows | Mac | 动作 |
|---|---|---|
| Alt | ⌥ | 在拖动鼠标时按住,可模拟捏合和旋转。 |
| AltShift | ⌥Shift | 在拖动鼠标时按住,可模拟双触摸平移。 |
当双触摸快捷键处于激活状态时,两个圆圈将出现,指示模拟触摸的位置。

控制器模拟
控制器模拟器可以从Studio的测试菜单中访问,让您可以在Studio中准确模拟游戏手柄输入。默认控制器是一个通用的游戏手柄,但您可以从左上方的选择菜单中选择其他选项。

在测试游戏时,您可以使用虚拟控制器和鼠标控制游戏。
您还可以单击右上角的编辑映射来查看和编辑虚拟控制器的按键映射,例如将E映射为ButtonL2或将9映射为ButtonA。这些映射像其他Studio设置一样保存(按控制器、按用户、按电脑),并在模拟器窗口和3D视口中转换为游戏手柄事件。
网络模拟
网络模拟可以从 工作室设置 的 网络 选项卡访问(在 Windows 上为 AltS;在 Mac 上为 ⌥S),允许您模拟现实世界的网络条件,如延迟、数据包丢失和抖动,以 进行游戏测试 连接。这对于测试使用 服务器权限 的游戏特别有用,因为预测和回滚/重新模拟机制对网络条件非常敏感。它也有助于测试可能丢失或乱序到达的 UnreliableRemoteEvents。
网络模拟设置适用于所有游戏测试连接,包括 测试、服务器和客户端 和 团队测试。请注意,对于 团队测试,延迟和丢失数字是您计算机到 Roblox 服务器的任何延迟和数据包丢失的 附加。例如,如果您在团队测试中的网络延迟通常为 20 毫秒,而您在工作室设置中配置了 50 毫秒的延迟,则您将看到 70 毫秒的延迟。
| 工作室设置 | 属性 | 描述 |
|---|---|---|
| 最小入站延迟 | InboundNetworkMinDelayMs | 为服务器到客户端的游戏测试连接添加延迟。 |
| 最小出站延迟 | OutboundNetworkMinDelayMs | 为客户端到服务器的游戏测试连接添加延迟。 |
| 入站抖动 | InboundNetworkJitterMs | 为服务器到客户端的游戏测试连接添加抖动。 |
| 出站抖动 | OutboundNetworkJitterMs | 为客户端到服务器的游戏测试连接添加抖动。 |
| 入站数据包丢失 | InboundNetworkLossPercent | 设置从服务器到客户端的游戏测试连接中丢失数据包的概率。 |
| 出站数据包丢失 | OutboundNetworkLossPercent | 设置从客户端到服务器的游戏测试连接中丢失数据包的概率。 |
在上述每个设置中,适用以下概念:
- 入站 指从服务器到客户端的流量。出站 是从客户端到服务器的流量。
- 延迟 — 网络延迟以往返时间来测量。要模拟 20 毫秒的网络延迟,请将 最小入站延迟 和 最小出站延迟 都设置为 10 毫秒。
- 抖动 — 抖动是在任何配置的最小延迟之上添加的。抖动可能导致某些流量(例如 UnreliableRemoteEvents)乱序到达。
- 精度 — 每个数据包的延迟从延迟和抖动中采样,四舍五入到 1 毫秒。
- 数据包丢失 — 每个数据包可以根据配置的概率随机丢失。
脚本化测试
除了上述交互式测试工具外,工作室还提供服务,让您可以通过插件或构建管道以编程方式进行测试。这三项服务仅限于工作室,在发布的体验中运行时不会执行任何操作。
| 服务 | 目的 |
|---|---|
| StudioDeviceSimulatorService | 可编程的 设备仿真。浏览设备预设,切换活动设备,覆盖分辨率和 DPI,控制方向和缩放,并创建持久化到磁盘的自定义设备配置文件。 |
| StudioTestService | 可编程的 多客户端模拟。启动一个最多 8 个模拟客户端的服务器,在会话中添加玩家,传递参数到测试,触发客户端断开连接,并从服务器结束测试。 |
| VirtualInput | 模拟的鼠标、键盘和指针事件,处理方式与真实硬件输入完全相同。从 UserInputService:CreateVirtualInput() 获取实例。 |
这些服务使跨设备的多人测试(循环设备配置文件并在每个设备上启动多人测试)、玩家加入/离开压力测试、方向回归测试和端到端 UI 流自动化成为可能。
VR 头显
如果您希望为游戏支持虚拟现实(VR)头显,请确保在工作室中测试或 仿真 VR。
VR 仿真
VR 仿真 让您在没有物理头显的情况下测试 VR 游戏。就像仿真任何其他设备一样,使用 设备选择器 菜单选择 Meta Quest 2 或 Meta Quest 3。 控制器仿真器 会自动选择适合该头显的控制器。


头显和多个控制器的组合,每个控制器都有运动追踪,使 VR 仿真变得更加复杂:
对于运动追踪仿真,按 Alt1 (⌥1) 将鼠标锁定到视口并解锁鼠标。
使用 Shift← 或 Shift→ 在头显、左控制器和右控制器的常见组合之间切换。例如,您可能会使用 头显 选项在向前走时环顾四周,但在需要使用运动控制瞄准目标时切换到 右控制器。
头显配置
工作室支持测试所有与 OpenXR 兼容的 VR 头显,OpenXR 是提供 VR 访问的开源行业标准。
要启用工作室中的 VR 测试,您必须将头显连接到 PC,并在启动工作室 之前 配置 OpenXR 运行时。如果您已经启动了工作室,请先退出并完成配置步骤。
如果您只有一个 VR 头显,安装相应的 VR 应用程序会自动为您配置运行时。如果您有多个头显,则必须手动设置运行时,并确保 仅 配置您希望用于测试的头显。
以下步骤适用于两个最常见的 VR 应用程序:
- SteamVR 适用于 HTC Vive 和 Valve Index 等头显。
- Oculus 适用于 Meta Quest 和 Oculus Rift 等头显。
- 在计算机上安装并打开 SteamVR 应用程序。
- 在 SteamVR 设置 下,选择 开发者 选项卡。然后选择 显示高级设置。
- 将 SteamVR 设置为 OpenXR 运行时。
- 通过按 系统 按钮直到听到蜂鸣声来打开控制器。
- 要关闭控制器,请按住 系统 按钮,直到听到相同的蜂鸣声。
如果您正确执行步骤,SteamVR 应用程序上的状态图标和硬件上的状态灯应该都是绿色,表示配置已完成。
Roblox Quest 应用
您可以在 Quest 的 Roblox 应用中测试您的游戏,而无需将头显连接到计算机。使用以下步骤在此模式下通过头显访问您的游戏:
- 在工作室中发布游戏并将游戏设置为私有。
- 使用您的 创作者仪表板 或工作室中的链接,在网页浏览器中打开游戏页面。
- 在游戏页面上,通过单击 收藏 图标将游戏添加到您的收藏夹。
- 使用您的头显,打开独立的 Roblox 应用。
- 在主页的 收藏夹 部分向下滚动并运行您的游戏。
工作室 VR 模式
在 配置您的头显 之后,您可以通过以下步骤打开工作室 VR 测试模式:
- 在 文件 菜单中,选择 工作室设置。
- 选择 渲染。
- 在 常规 设置下,打开 启用 VR 模式。
现在,您可以使用 VR 头显测试您的游戏,使用任何可用的 游戏测试选项。在 VR 测试会话期间,如果您的头显电缆断开或您关闭头显上的 Roblox Studio Beta 应用,您需要重新启动工作室以重新进行测试。
玩家仿真
为了详细仿真游戏 本地化 和内容政策,您可以通过工作室的 玩家仿真器 进行测试,该仿真器可以从工作室的 测试 菜单访问。
打开仿真器窗口后,切换 启用测试配置文件。即使您关闭窗口,仿真也将保持切换状态(启用或禁用)。
在窗口下方,常用选项包括:
| 选项 | 描述 |
|---|---|
| 区域 | 让您在游戏测试时仿真 本地化 语言。 |
| 伪本地化 | 用相似但略有不同的字符替换字符,以便轻松识别哪些字符串正在通过 翻译 系统。启用此选项可以帮助您识别 未本地化 的文本,而无需更改仿真语言。例如:
|
| 延长 | 通过滑块定义的因子延长文本字符串。例如:
|
| 地区 | 让您在游戏测试时仿真玩家的国家/地区;此选择可能会影响窗口中的其他切换和复选框,如 GetPolicyInfoForPlayerAsync() 中所述。 |