使用OpenXR进行输入

OpenXR运行时提供控制器模拟功能以支持尽可能多的平台,并提供控制器和手势以营造沉浸式交互体验。

Windows
MacOS
Linux
本页面的内容

OpenXR运行时使用交互配置文件来支持各种硬件控制器,并为控制器连接到的任何设备提供操作绑定。虚幻引擎中的OpenXR输入映射依赖操作映射输入系统来将操作连接到OpenXR交互配置文件。有关如何使用操作映射输入系统的指南,请参见创建新输入 默认引擎输入操作映射 OpenXR输入系统旨在通过模拟未使用虚幻项目中的 操作映射(Action Mappings) 显式指定的任何控制器映射来提供跨设备兼容性。在模拟控制器映射时,OpenXR运行时将会选择与用户控制器密切匹配的控制器绑定。 由于OpenXR提供了这种跨设备兼容性,因此你只需要为你支持并可以进行测试的控制器添加绑定。你为控制器指定的任何绑定都会定义连接到该控制器的操作。如果你仅将绑定部分应用到控制器,则控制器不会支持任何缺失的绑定。 在下例中,项目具有两个操作:跳跃(Jump)拾取(Pickup)

  • 跳跃(Jump) 映射到多种控制器上的键,例如 Vive Index (L)触发器(Vive Index (L) Trigger)Oculus Touch (L)触发器(Oculus Touch (L) Trigger)

  • 拾取(Pickup) 仅映射至 Valve Index (L) A Touch。 在这种情况下,OpenXR运行时将不会在任何其他控制器上模拟 拾取(Pickup) 操作,因为这些控制器绑定了 跳跃(Jump),但没有绑定 拾取(Pickup)。如果从 跳跃(Jump) 中移除了其他控制器的键,则OpenXR运行时将无法为模拟器模拟 跳跃(Jump)拾取(Pickup) 示例引擎输入操作映射

OpenXR目前仍为试用版,因此在项目中实施时应保持谨慎。某些运行时目前可能不支持交互配置文件模拟。对于你可以访问和计划支持的设备,建议为尽可能多的设备添加绑定。

姿势

OpenXR提供了两个姿势来表示用户在执行操作时应该使用的手势:

  • 抓握(Grip):表示用户为了抓住虚拟对象而抓握时的位置和方向。

  • 瞄准(Aim):表示从用户的手或控制器延伸出的光线,用于指向目标。 如需这两种姿势的详细信息,请参见OpenXR规格。在虚幻引擎中,如果这两种姿势可供你的设备使用,则表示为动作源,并在调用枚举动作源时作为结果返回。

虚幻引擎使用的坐标系与OpenXR规格中规定的坐标系不同。虚幻使用左旋坐标系:+X表示向前,+Z向上,而+Y向右。

启用 OpenXRMsftHandInteraction 插件,在支持此扩展插件的运行时上(例如HoloLens)复制所追踪手的抓握和瞄准姿势。 OpenXR手部交互插件

标签
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消