XR 增强功能和改进

VRED 2022 通过 VR 菜单在 XR 和 VR 中添加了 Varjo MR 标记放置首选项手势手部深度估算以及现成的对象放置。我们还添加了适用于 Python 界面的函数,用于实现自定义版本的标记跟踪。vrImmersiveInteractionService 文档中介绍了这些函数。

Varjo 标记

仅适用于 Varjo XR HMD 用户。

“标记”图标 使用称为原点标记的可见标记,可以在混合现实场景中轻松放置对象。坐标系将自动同步;但在进入 MR 之前需要准备好节点。

具有坐标系的标记

使用 VR 菜单中的 “标记”图标,使支持的 HMD 能够检测标记。HMD 识别标记后,如果某个节点标记有 VarjoMarker,则节点内容将移动到标记的位置。需要将标记的 ID 号设置为单独的标记。

显示 ID 号的标记

注意:

标记语法区分大小写。

可以将多个标记组合为单个标记。这样可以提高跟踪稳定性。

将多个标记组合为单个标记

例如,多个节点标有 VarjoMarker,但每个节点具有不同的标记编号。标记跟踪系统检测每个标记并为其指定置信度值(范围为 0.0 到 1.0)。如果认为正确,则节点内容将移动到标记的位置。有关置信度值的详细信息,请参见“虚拟现实”首选项最低标记置信度

为标记准备节点

仅适用于 Varjo XR HMD 用户。

在进入 MR 之前,请按照以下步骤准备节点。请注意,在进入 MR 之前,需要缩小不适合您房间的对象。

标记的场景标记节点结构示例

  1. 添加标记,并将其重命名为 VarjoMarker

  2. 将对象节点拖放到此标记上以指定它。

  3. 创建另一个标记,并将其重命名为在 Varjo 标记上输出的数字。

    场景中的标记(带数字特写)

  4. 将同一对象节点拖放到此标记上。

使用标记

仅适用于 Varjo XR HMD 用户。

必须先标记场景中的节点,然后再继续。如果尚未完成此操作,请参见为标记准备节点,然后再继续。

  1. 佩戴支持 MR 的已连接 Varjo HMD 后,在 VRED 中选择“视图”>“显示”>“Varjo HMD”。使用 VarjoMarker 标记的对象和编号标记将显示在 MR 中。

  2. 通过控制器打开 VR 菜单,然后选择“启用标记”。

    启用标记

    几何体将直接跳到标记上。

    提示:

    在 VR 菜单中禁用“启用标记”可停止对象可能出现的任何抖动。

MR 中的手

目前,MR 仅支持 Varjo XR HMD。

MR 在 XR 中,VRED 将 VR X 射线材质的手替换为您自己的手。

MR 中的手

要进入 MR,请在 VR 菜单中选择 MR(MR 功能)。

请注意,MR 中 XR-1XR-3 支持的功能存在差异。

使用 Python 连接手部跟踪器

要查看如何使用 Python 连接手部跟踪,请选择“文件”>“打开示例”,然后导航到 vr 文件夹,您可以在其中找到 externalHandTracking.py。这提供了如何设置手部跟踪的示例。

返回的对象类型为 vrdTrackedHand

手部深度估算

目前,MR 仅支持 Varjo XR HMD。

“手部深度估算”图标 在混合现实视频中检测您的真手,并在虚拟对象前面显示它们(如果它们比该对象更近)。禁用此选项后,从 VRED 进行的渲染将始终遮挡真手,即使手比渲染的对象更近也是如此。

此选项位于 VR 菜单中。要设置此选项的默认行为,请访问“虚拟现实”首选项 >“HMD”选项卡 >“Varjo”部分

“手部深度估算”已禁用 “手部深度估算”已启用
“手部深度估算”已禁用 “手部深度估算”已启用

在混合现实中显示手

目前,MR 仅支持 Varjo XR HMD。

在混合现实中,使用“手部深度估算”工具显示手。

  1. 佩戴支持 MR 的已连接 Varjo HMD 后,在 VRED 中选择“视图”>“显示”>“Varjo HMD”。

  2. 按控制器上的“菜单”按钮以访问 VR 菜单。

    “手部深度估算”已禁用

  3. “手部深度估算”图标 以在 MR 中查看真手。

手势

此部分提供在与数字设计交互时支持使用的 VRED 手势。当您使用食指点击模型的某些部分以启动触摸事件、从 VR 菜单中选择工具或与 HTML 5 HMI 屏幕交互时,系统会跟踪您的手部移动。使用这些手势可以浏览场景,而无需使用控制器。

注意:

虚拟手将自动调整以匹配您的真手。

触摸交互

使用食指尖(左右手均可)触摸场景内容,并与场景内容(如 xR 主菜单、带有点击传感器的对象或 HTML 5 HMI 屏幕)进行交互。

xR VR 菜单

要打开和关闭 xR 主菜单,请使用相同手势。

VR 菜单

将食指移至另一只手的手掌。这将打开菜单。现在,您可以使用食指从菜单中选择一个选项。重复初始手势可关闭 VR 菜单。

VR 菜单手势

有关 VR 菜单及其工具的信息,请参见 VR 菜单。

提示:

如果您的手位于虚拟对象的前面,但受其遮挡,请启用手部深度估算

传送

要进行传送,您需要启动传送器,确定弧和箭头方向,然后跳转到新位置。完成后,终止传送器。

启动和终止传送

要启动和终止传送,请使用相同手势。

使用一只手,点击另一只手的手背。这将从被点击的手启动传送。现在确定弧方向传送。重复此手势可终止传送器。

启动传送

传送方向

显示传送弧时,旋转腕部以确定传送器方向。现在传送

传送方向

传送

在手部当前未显示传送弧时,将食指与拇指捏在一起。这将接受传送弧位置和方向,并执行传送。完成后,终止传送以退出该工具。

传送

有关传送的信息,请参见传送

激光指针

要使用激光指针,您需要启动、执行然后终止它。

启动和终止激光指针

要启动和终止激光指针,请使用相同手势。

使拇指、食指和中指指向外,并使手掌朝向摄影机。现在,使用激光指针指向对象或触发与场景内容的交互。重复此手势可终止激光指针。

启动和终止激光指针

使用激光指针

使用食指指向场景内容。

使用激光指针进行指向

将食指与拇指捏在一起以触发与场景内容的交互,例如从 VR 菜单中选择工具、激活点击传感器或与 HTML 5 HMI 屏幕交互。完成后,终止激光指针以退出该工具。

使用激光指针

“放置”工具

仅在 MR 模式下可用。

注意:

当在协作式 XR 会话中时,会为用户同步对象的位置。 “放置”工具 用于使用激光指针将对象放置在场景中的地面上以及沿地面移动这些对象。这些对象必须具有名为 Place指定场景标记

“放置”工具使用与传送类似的方法来旋转对象,即旋转手腕。通过按控制器的“夹点”按钮,可以将旋转捕捉到 10° 角。尝试将一个对象与另一个对象对齐时使用此选项。也可以将对象置于另一个对象之上。

准备节点以进行放置

仅在 MR 模式下可用。

要拾取对象并将其放入 MR 中,必须先准备节点。如果对象对于您的房间来说太大或太小,则需要在进入 MR 之前将其缩放到适当的大小。

具有 Place 场景标记的对象的图像

  1. 创建标记,并将其重命名为 Place
  2. 在“场景图形”中,将对象节点拖放到此标记上。

使用“放置”

仅在 XR 模式下可用。

必须先标记场景中的节点,然后再继续。如果尚未完成此操作,请按照准备节点以进行放置中的说明进行操作。

在 MR 中放置对象

  1. 佩戴支持 MR 的已连接 Varjo HMD 后,在 VRED 中选择“视图”>“显示”>“Varjo HMD”。使用 Place 标记的对象将显示在 MR 中。

  2. 通过按控制器上的“菜单”按钮打开 VR 菜单,然后选择 “放置”工具(放置)。

    VR 菜单中的“放置”图标

    当以橙色亮显时,该工具处于启用状态。当为灰色时,该工具处于禁用状态。控制器上方显示一个指示器,指明处于活动状态和被拾取的对象。

  3. 指向对象并不断挤压触发器以拾取并沿虚拟地面移动此对象。

  4. 旋转手腕以围绕上方向轴旋转对象。此操作类似于“传送”工具的操作。

    提示:

    挤压“夹点”按钮以按 10 度角度增量进行捕捉。这有助于将对象与另一个对象对齐。

手部跟踪首选项

仅适用于 Varjo XR-3 用户。

我们向“虚拟现实”首选项添加了交互首选项,以启用手部跟踪并为跟踪的手设置平移和旋转手部偏移

提示:

在首选项中启用手部跟踪会自动为 VR 或 MR 激活它。

交互首选项

在 VR 中使用跟踪的手

仅适用于 Varjo XR-3 用户。

设置默认值,以在 VR 中始终跟踪手部(启用时)。如果跟踪器设置为“Varjo 集成 Ultraleap”,还会在 XR 中为支持的 HMD 启用手部跟踪。

跟踪器

仅适用于 Varjo XR-3 用户。

设置用于手部跟踪的默认系统。

平移偏移

设置与手的默认平移跟踪偏移。使用此选项可调整跟踪的手和 VR 中渲染的手之间的任何偏移。

旋转偏移

设置与手的默认旋转跟踪偏移。使用此选项可调整跟踪的手和 VR 中渲染的手之间的任何偏移。

标记跟踪

标记跟踪系统检测每个标记并为其指定置信度值(范围为 0.0 到 1.0)。

例如,值为 0.9 的标记表示对标记的位置和 ID 的正确性有 90% 的置信度。

最低标记置信度

设置标记跟踪系统用来确定检测到的标记位置是否正确的默认最小值。

Varjo 首选项

我们向“HMD”选项卡添加了特定于 Varjo HMD 的首选项,用于设置默认本机焦点渲染状态、您进入的模式手部深度

Varjo 首选项

本机焦点渲染

需要启用视角跟踪。

在“HMD”选项卡 >“Varjo”部分中,用于设置外围对象渲染方式的默认状态。启用此选项后,外围分辨率(图像质量)会降低;但是,您的视角跟踪的区域仍以高分辨率渲染。此选项可在具有计算密集型材质的场景中以及使用实时抗锯齿时提高性能。有关焦点渲染和不同设置的详细信息,请参见自定义质量

默认模式

在“HMD”选项卡 >“Varjo”部分中,用于为 Varjo HMD 设置默认查看模式。如果始终在混合现实中工作,则将此选项设置为“MR”。

手部深度估算首选项

在“HMD”选项卡 >“Varjo”部分中,用于在 MR 中设置真手的默认状态。启用此选项后,将会在混合现实视频中检测您的真手,并在虚拟对象前面显示它们(如果它们比该对象更近)。禁用此选项后,从 VRED 进行的渲染将始终遮挡真手,即使手比渲染的对象更近也是如此。

“手部深度估算”已禁用 “手部深度估算”已启用
“手部深度估算”已禁用 “手部深度估算”已启用

用于标记的 Python

下面是适用于 Python 界面的函数,用于实现自定义版本的标记跟踪。vrImmersiveInteractionService 文档中介绍了这些函数。

createMultiMarker

vrImmersiveInteractionService.createMultiMarker(multiMarkerName, markerNames, markerType) 通过平均化多个常规标记的姿势创建一个多标记。

getDetectedMarkers

vrImmersiveInteractionService.getDetectedMarkers(markerType) 获取所有检测到的给定类型的标记。

getMarker

vrImmersiveInteractionService.getMarker(name, markerType) 获取已检测到的标记。

getMinMarkerConfidence

vrImmersiveInteractionService.getMinMarkerConfidence() 另请参见:setMinMarkerConfidence。

setMinMarkerConfidence

vrImmersiveInteractionService.setMinMarkerConfidence(confidence) 设置最低标记置信度。当检测到置信度更低的标记时,将忽略它们。如果更新的数据的置信度更低,则不会更新系统已知的标记。

markersDetected

vrImmersiveInteractionService.markersDetected(markers) 检测到置信度等于或高于最低标记置信度的新标记时触发此信号。

markersUpdated

vrImmersiveInteractionService.markersUpdated(markers) 检测到置信度等于或高于最低标记置信度的新标记时触发此信号。