网站建设的架构,网络维护人员,南阳手机网站建设,58精准推广点击器文章目录 #x1f4d5;Unity XR 开发架构#x1f50d;底层插件#xff08;对接硬件#xff09;#x1f50d;高层 SDK#xff08;面向应用交互层#xff09; #x1f4d5;OpenXR#x1f4d5;XR Interaction Toolkit#x1f50d;特点#x1f50d;XRI 能够实现的交互类… 文章目录 Unity XR 开发架构底层插件对接硬件高层 SDK面向应用交互层 OpenXRXR Interaction Toolkit特点XRI 能够实现的交互类型XR 交互参与的对象XRI 中与交互相关的状态 获取完整课程以及答疑工程文件下载 https://www.spatialxr.tech/
视频试看链接https://www.bilibili.com/video/BV14pSbYsEPz
系列教程专栏Unity XR Interaction Toolkit 系列教程SDK 版本 3.0 以上
Unity XR 开发架构
使用 Unity 开发 XR 应用的整体架构由底层插件和高层 SDK 组成。 在本套系列教程中会使用 OpenXR XR Interaction Toolkit 的开发方案。
底层插件对接硬件
不同的底层插件对接对应的 XR 硬件平台让 Unity 程序兼容到对应的硬件设备上适配硬件的特性和用户的输入。
开发者通常只要在 Unity 的 XR Plug-in Management 中选择对应的 XR 插件供应商然后进行设置Unity 会自动处理程序与硬件的兼容使得开发的应用能够成功接入设备的 XR 能力在设备上正常运行。
例 OpenXR Apple visionOSOculusPico XR 插件 高层 SDK面向应用交互层
将 XR 应用开发中的常用交互功能封装成模块给开发者使用。开发者会在开发流程中经常使用高层 SDK。
应用层的交互例如抓取、UI 交互、MR 环境识别……
经典的高层 SDKXR Interaction ToolkitMeta XR SDKPolySpatialSteamVR SDK
OpenXR 在早期不同的 XR 设备都维护着它们各自的 SDK供开发人员制作出能在相应设备上运行的程序。但是尴尬的地方就在于可能利用厂商 A 提供的 SDK 开发的程序无法兼容到厂商 B 的硬件设备上。不像如今已经比较成熟的安卓移动端只需用 Android SDK开发一款程序就能兼容到不同的安卓手机上。
而 OpenXR 就是为了简化 XR 开发而制定的一套标准。相当于在编写的 XR 应用程序和不同的硬件设备间新增了一个中间层向上提供一套统一的开发 API不同的开发引擎对该 API 进行二次封装提供给 XR 应用开发者使用。而不同的设备厂商为硬件编写支持 OpenXR 标准的接口使得中间层能够向下兼容对应的硬件设备。如今越来越多的 XR 设备开始支持 OpenXR 标准这意味着选用 OpenXR 进行 XR 设备的开发可以成为一种通用的方案。
有了统一的标准后只要编写一次代码就能兼容所有的设备。这样开发者只要专注于程序开发本身而不用在意设备间的差异。
XR Interaction Toolkit
特点
1简称 XRI
2Unity 推出的跨平台 XR 交互开发工具包跨平台机制体现在以下几个方面
封装了通用的 XR 交互模块如抓取、点触、射线、移动使用 Unity 的 Input System 处理不同平台的输入支持 OpenXR 标准但是苹果不支持能结合 ARFoundation 开发 AR/MR 应用
3逐渐成为行业流行的标准许多平台推行使用 XRI 作为交互开发包结合自家 SDK包括了硬件的特性完成整套开发流程。
XRI 能够实现的交互类型
3D 物体交互抓取物体远距离操控物体点击物体……UI 交互点击按钮拖动滑动条……移动持续移动传送攀爬……
XR 交互参与的对象
Interactor发起交互的对象
Interactable被交互的对象
XRI 中通过 XR Interaction Manager 脚本统一管理场景中所有的 Interactor 和 Interactable
XRI 中与交互相关的状态
Hover 悬停
当 Interactor 接近 Interactable准备进行交互的时候会进入到 Hover 状态例使用手柄射线点击 UI 按钮当射线射到 UI 按钮上时就进入到 Hover 状态此时点击动作未发生还未正式进行交互
Select 选中
在进入到 Hover 状态的前提下做出额外的输入动作发起交互进入到 Select 状态例使用手柄射线点击 UI 按钮当射线射到 UI 按钮上时进入到 Hover 状态然后按下手柄的扳机键相当于做出点击按钮的动作进入到 Select 状态
Focus 获得焦点
对象进入到 Select 状态时同时也会处于 Focus 状态直到再次选中 Interactable 或者选中另外一个 Interactable 或者明确不选择任何内容时退出 Focus 状态例使用手柄抓取物体手柄靠近物体时进入到 Hover 状态然后按下手柄抓取键把物体抓起时会同时进入到 Select 和 Focus 状态松开手柄抓取键结束抓取会退出 Select 状态但是不会退出 Focus 状态。重新抓起物体才会先退出 Focus 状态然后再同时进入新的 Select 和 Focus 状态。松开后单独按下手柄抓取键但不抓起物体也能退出 Focus 状态明确不选择任何内容
Activate 激活
在进入到 Select 状态的前提下做出额外的输入动作可进一步对当前的交互对象进行交互例用手柄抓取键拿起手枪进入 Select 状态然后按下手柄扳机键进行射击进入 Activate 状态