XR Interaction Toolkit 包是一个基于组件的高级交互系统,用于创建 VR 和 AR 体验。它提供了一个框架,可以通过 Unity 输入事件进行 3D 和 UI 交互。该系统的核心是一组基本的 Interactor 和 Interactable 组件,以及将这两种类型的组件联系在一起的交互管理器。它还包含可用于移动和绘制视觉效果的组件。
XR交互工具包包含一组支持以下交互任务的组件:
- 跨平台 XR 控制器输入:Meta Quest (Oculus)、OpenXR、Windows Mixed Reality 等。
- 基本对象悬停、选择和抓取
- 通过 XR 控制器提供触觉反馈
- 视觉反馈(色调/线条渲染)以指示可能的和活跃的交互
- 与 XR 控制器的基本画布 UI 交互
- 用于与 XR Origin 交互的实用程序,XR Origin 是一个用于处理固定和房间规模 VR 体验的 VR 相机装备
要使用包中的 AR 交互组件,您的项目中必须有AR Foundation包。XR交互工具包提供的AR功能包括:
- AR 手势系统可通过
TouchscreenGestureInputController
. - 各种屏幕空间输入组件,可将屏幕空间交互数据输入到
XRRayInteractor
与 AR 配合使用的组件中。 ARTransformer
它将放置、选择、平移、旋转和缩放等手势转换为对象操作。
最后,如果您没有正在处理的项目的硬件,或者只是想在不输入耳机的情况下测试交互,则可以模拟与XR 设备模拟器的所有交互。有关更多信息,请参阅XR 设备模拟器概述。
技术细节
要求
此版本的 XR 交互工具包与以下版本的 Unity 编辑器兼容:
- 2021.3及以后
依赖关系
XR Interaction Toolkit 包有几个依赖项,在安装时会自动添加到您的项目中:
- 输入系统(com.unity.inputsystem)
- 数学(com.unity.mathematics)
- Unity UI (com.unity.ugui)
- XR 核心实用程序 (com.unity.xr.core-utils)
- 内置模块
可选依赖项
要启用包中包含的其他 AR 交互组件,必须使用包管理器将AR Foundation (com.unity.xr.arfoundation)添加到您的项目中。
要在某些行为中启用其他属性,必须使用包管理器将动画模块添加到您的项目中。
已知的限制
- 当在 XR Grab Interactables 上使用多交互器支持并在套接字交互器和直接/光线交互器之间传输时,如果Attach Ease In Time设置为 0,则可能会发生 1 帧视觉跳跃。为了减轻这种视觉干扰,请将“附加缓动时间”设置为最小值 0.15。如果您的项目未在运行时启用或禁用直接/射线交互器以使套接字最后注册,您还可以通过在控制器交互器注册到 XR 交互管理器后加载包含套接字交互器的场景来解决此问题。
- 当“编辑”>“项目设置”>“XR 插件管理”中的 XR 插件提供程序启用并运行时,鼠标输入不会与世界空间 UI 交互。欲了解更多信息,请关注问题跟踪器。( 1400186 )
- 当在直接/射线交互器上启用“选择时隐藏控制器”属性时,Starter Assets 示例中 Poke Interactor 预制件中的 Poke Point 视觉效果不会随控制器模型一起隐藏。
- 使用内置渲染管道和单通道实例化渲染模式时,手部交互演示示例中提供的 Unity 手部着色器和材质仅在左眼中渲染,因为它们是使用 Shader Graph 制作的。建议切换到多通道渲染、切换到通用渲染管道,或者创建不使用 Shader Graph 的用于手动交互的自定义着色器。
原文:https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/manual/index.html