VR 指南

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Roblox VR 使用 OpenXR 作为所有 VR 设备的后端。这意味着实现是平台无关的,可以让体验在 Quest 和 PC VR 头戴设备上互换使用。在 PC VR 头戴设备上进行测试应适用于 Quest 2。最低限度上,Oculus 驱动程序需要一个 NVidia GTX1060 图形卡或等价物。

图形质量模式

当在独立的 VR 头戴设备上运行 Roblox,例如 Quest 2 或 Quest Pro 时,保持舒适的性能水平至关重要,因为帧率下降可能会导致用户不适。为了实现这一目标,Quest 上可用一个 自动质量模式 设置,旨在通过自动调整渲染细节的性能数据来保持每秒至少 72 帧。

Auto Quality Mode toggled on

如果您在任务 2 上测试体验并且在启用 自动质量模式 后不满意视觉效果,建议您尝试进一步优化体验。

舒适设置

当用户体验 VR 时,其相机/位置的移动可能会因断开与他们所看到的内容以及身体和内耳检测到的运动之间的联系而导致一些不适。Roblox 提供多个设置来帮助用户所有敏感度等级的用户,这样每个人都可以在游戏时享受身临其境、舒适的 VR 体验。除了 舒适默认专家 模式外,用户可以选择 自定义 单独启用以下设置:

  • 渐变 — 在运动期间显示一层覆盖物,限制用户在运动期间的周围视力并隐藏相机传送。
  • 步进旋转 — 相机使用步进旋转(传送到下一个旋转位置)为第一人称和第三人称摄像头模式,而不是在旋转相机时使用平滑旋转模式,当使用控制器旋转相机时。
  • 第三人称固定摄像头 - 相机固定在空间中,并不跟随玩家。相机会传送,以保持玩家在查看野中。

额外信息可以在 VR菜单和设置 中找到。

相机模式

当开发 VR 第一体验时,您可以利用默认摄像头脚本或实现自己的自定义脚本。

Roblox 提供了一系列默认相机选项,包括第三人称舒适相镜头、第一人称相镜头和汽车相镜头。这些相机模式被实现为 CameraModule 内的子脚本的 PlayerScripts 。支持舒适菜单选项和未来的“沉浸”功能将包含在默认脚本中。

通过使用 Roblox 提供的默认脚本来实现,您可以从确保兼容所有新功能和设备的持续更新和改进中受益。这很可能为今后提供更轻松和可持续的开发过程。

性能提示

没有捆绑的移动 VR 设备,例如 Quest 2,在低功率芯片组上渲染两个独立图像时,目标高帧率和分辨率。为了实现稳定且坚固的性能水平,绘制距离可能会被缩小,轻型计算可能通过自动图形质量禁用。

以下最佳实践可能会帮助您以更高的图形设置达到每秒 72 帧:

  • 启用实例流媒体,使内容在设备上动态传输出入。
  • 请注意不要过度使用像 射线投射 这样的 CPU 重型计算。
  • 避免使用 task.wait() 超过 RunService 框架更新。task.wait() 将不会给你精确的结果,与连接到 RunService.Heartbeat 相比。
  • 移动 VR 对高数量的绘制调用很敏感。有效地构建环境,在真正重要的地方添加高细节,在其他地方添加较低细节,同时保持场景中使用的对象数量有限。
  • 创建自定义 3D 网格时,始终努力使用尽可能少的几何图形来实现最大的运行时效率。
  • 尽量减少带有部分透明度的半透明对象和纹理数量,例如 DecalsGlass 材质。
  • 使用 声量阴影地图 照明 Technology , 因为 未来 照明生成成本高昂,可能在 VR 上产生不一致的结果,当自动质量下降时。
  • 大量和复杂的 SurfaceGuis 可能会很昂贵,既在渲染侧,也在 CPU 侧。
  • 避免写入依赖平台的代码,例如依赖键盘按钮的操作。相反,使用 ContextActionService 允许从触摸、游戏手柄、键盘或鼠标输入的方法。
  • 经常测试和迭代以确保你获得预期的性能和视觉质量。如果可能的话,请投资 Quest 2 头戴式显示器。