将 HTC Vive 与 VRED 结合使用

如何使用 VRED 设置 Vive

HTC Vive 硬件(如 VIVE Cosmos)使用 OpenVR HMD 模式,该模式使用 SteamVR。VRED 使用 OpenVR 1.12.5 SDK。有关坐标系的说明,请参见下面的如何激活 OpenVR 部分。

对于使用 Vive Pro Eye 的用户,VRED 支持视角跟踪以便进行焦点渲染

Vive 编号

1 xR 主页菜单(菜单按钮)

2 传送(触控板)

3 工具提示(夹点)

4 指针(触发器)

Vive Cosmo 内部按钮

Vive Cosmo 外部

使用 OpenVR HMD 模式

重要信息:

必须安装 SteamVR 软件。如果尚未安装,请转至 https://store.steampowered.com/steamvr?l=schinese,然后单击“安装 Steam”。安装后,单击屏幕顶部的“VR”按钮以安装 SteamVR。

如何激活 OpenVR

要激活 OpenVR,请执行以下操作:

  1. 加载一个场景。
  2. 选择“视图”>“显示”>“OpenVR HMD”。如果 SteamVR 尚未运行,请稍等片刻,因为它会自动启动。

眼球分离

使用 Vive 头戴式设备上的硬件滑块设置两眼之间的距离。在 VRED 中,通过选择“可视化”>“立体”>“立体设置”>“眼球分离”,可以覆盖此值。

控制器和 Vive 跟踪器

检测到 Vive 控制器时,手以其跟踪姿势呈现。请参见 VR 中的手 。检测到 Vive 跟踪器时,它的简单静态几何表示以其跟踪姿势呈现。

使用 Python 脚本将行为添加到控制器和跟踪器,例如,用于对单击按钮或所跟踪设备的移动做出反应。

请参见示例文件 OpenVRExample.vpb在 VRED 中为 HTC VIVE 添加交互

如何在场景中的某个点开始 VR 体验

如果需要在场景中的某个点(例如对象前方 1 米处)开始 VR 体验,请执行以下操作:

  1. 创建一个视点 - 置于您想在其中以“站立”模式体验 VR 的场景地板上(“场景”>“摄影机编辑器”,单击鼠标右键,然后选择“创建”>“视点”)。

    注意:

    请参见 视点 ,了解如何创建此视点。

  2. 激活 OpenVR(请参见上文)。

  3. 激活预定义的视点。

    有关坐标系的更多详细说明,请参见下一部分“摄影机”

跟踪原点类型

重要信息:

SteamVR 更新改变了 Vive 跟踪器的默认行为,导致 VRED 中出现跟踪器旋转问题。要解决此问题,请参见以下论坛帖子底部的答复: 答复:VRED 2019 中的 Vive 跟踪器方向问题 。有关 SteamVR 更新的更多详细信息,请参见以下文章: Vive 跟踪器最近的更改

房间比例就座模式之间的唯一区别是假定的跟踪原点。跟踪值是相对于此原点报告的。

摄影机

VRED 默认场景设置为“Z 轴向上”。在 OpenVR 模式中,VRED 默认使用“房间比例”跟踪。在下文中,我们假定场景设置为“Z 轴向上”,并使用“房间比例”跟踪模式。

ZYX 轴 Z 轴向上

摄影机变换和跟踪空间

VRED 活动摄影机的变换(平移和旋转)定义了场景中跟踪空间的原点/位置及其定向方式。

HMD 的 VRED SteamVR 跟踪值应用于摄影机变换之上。

每次激活 OpenVR HMD 模式时,VRED 场景中的活动摄影机将设置为世界位置 (0, 0, 0) 并沿正 Y 轴方向查看。再次取消激活 OpenVR 后,摄影机将重置为其先前的位置/方向。

在以下图像中,您会从外部看到简单的示例设置:

为什么不使用鼠标进行导航

在“渲染窗口”中使用鼠标进行导航会更改活动摄影机的变换。可以在 VR 运行的同时变换活动摄影机,但这可能会导致摄影机不再处于地板标高或被不正确地旋转。因此不推荐在 VR 中使用鼠标进行导航。

地板标高和初始位置(“房间比例”模式)

在“房间比例”模式下,摄影机的 Z 轴平移值定义了地板标高。这意味着,场景中的 Z 值对应于跟踪空间中的物理地板。因此,如果场景中的地板不在 Z = 0,则相应地调整摄影机的 Z 值。

注意:

或者,您可以将摄影机置于 (0, 0, 0),并使用 Python 函数 setOpenVRTrackingOrigin(Pnt3f(x,y,z))

示例:Automotive_Genesis.vpb 的地板标高

在下面的场景中,场景原点 (0, 0, 0) 位于前轮轴的中心,因此地板标高未设置为 Z = 0,而是 Z = -337。

地板标高

如何创建点到点测量

  1. 从菜单栏中,选择“交互”>“测量”。
  2. 在“测量”模块的顶部区域中单击鼠标右键,选择“添加点到点测量”。
  3. 按住 Shift 键并沿地板拾取两个点,然后在“属性”区域中查看其中一个所拾取点的 Z 值。

如何通过更改摄影机平移设置地板标高

要通过更改摄影机平移来设置地板标高,将需要激活 OpenVR。这会自动将摄影机平移设置为 (0, 0, 0)。然后,使用诸多方法之一将摄影机设置为地板标高并更改平移。

  1. 激活 OpenVR

  2. 将摄影机平移更改为 (0, 0, -337)。您可以在“摄影机编辑器”(“场景”>“摄影机编辑器”)中执行此操作。

  3. 如果在“场景图形”中通过任何父变换节点来变换摄影机节点,则使用“变换编辑器”。在其“平移”部分中,将“坐标系”更改为“世界”以确保使用世界坐标系进行平移。

  4. 设置正确的摄影机位置后,创建一个新视点。

    提示:

    要在将来使用这些值,请将其存储在视点(进入 OpenVR 后会激活此视点)中。使用“摄影机编辑器”或 Python 激活视点。有关用于激活视点的 Python 函数,请参见 激活 OpenVR 和视点的快捷方式

焦点渲染

在 VRED Pro 和 Design 2020.2 中,使用 HTC Vive Pro Eye 头戴式设备在 Open GL 中进行视角跟踪焦点渲染。这需要具备显卡(例如采用 Turing 架构的 NVIDIA 显卡),支持 OpenGL 扩展、着色速率图像。

注意:

Varjo 和 StarVR 头戴式设备目前不支持此选项。 对于没有视角跟踪功能的其他头戴式设备,可以启用 VR 的“焦点渲染”首选项中的选项。但是,由于无法跟踪您的视线,焦点区域将不会移动。它将保持固定在图像中心。

动态焦点渲染跟踪 VIVE Pro Eye 用户注视视角的方向。它会使用比外围更高的着色质量来渲染图像的当前聚焦区域。使用 HMD 虚拟现实首选项中的选项来加快渲染速度和/或提高视觉质量。

焦点渲染可以在使用计算密集型材质和实时抗锯齿的场景中提高性能。

视点

视点是在“摄影机编辑器”中创建的,并且是摄影机的存储参数。变换摄影机时,它定义了场景跟踪空间的位置及其定向方式。这意味着,对于 VR,无法在普通“桌面”查看模式下重用现有的视点设置,而必须创建特殊的 VR 视点。

如何创建视点

设置视点的变换时,可以更轻松地从外部查看带有辅助摄影机的实际摄影机(“视图”>“显示摄影机”)。完成此操作后,通过在场景中使用变换操纵器将显示的摄影机移动到所需位置。

创建视点

要从“地板”摄影机创建视点,请先激活“地板”摄影机,创建视点,然后再次激活另一个摄影机以采用类似方式设置下一个视点。

注意:

创建视点之前需要激活摄影机,因为新的视点会随着活动摄影机的变换而不断创建。

Vive:如何检查跟踪校准

要检查 Vive 的校准是否正确,以便虚拟场景中的测量值与真实世界 1:1 对应,请执行以下操作:

  1. 在 VRED 中创建 1x1 米框。
  2. 在 VR 中,放置该控制器,使菜单按钮完全位于框的边缘。
  3. 测量真实世界中这些按钮之间的距离。如果不匹配,则可能需要重新校准您的 Vive 设置。