Unity XR Interaction Toolkit 组件解析(一)Action-based 和 Device-based 的区别【旧版】

Spatial XR 开发者社区官网:https://www.spatialxr.tech/

注:
此系列教程已过时
新版系列教程专栏:Unity XR Interaction Toolkit 系列教程(SDK 版本 3.0 以上)

本专栏记录了我使用 XR Interaction Toolkit 的过程中遇到的一些疑惑点和我认为比较重要的知识点,相当于对上面这个专栏的补充说明,能让大家对 XR Interaction Toolkit 的功能和部分原理有个更深刻的理解。

XR Toolkit Interaction 官方文档:(选择自己正在使用的版本)
https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/index.html


📕Action-based 和 Device-based 的区别

在我们使用或添加 XR Interaction Toolkit 的一些组件时,会经常看到同样的组件会有两种版本,一种时后缀加 (Action-based) ,另一种是后缀加 (Device-based),如图所示:

在这里插入图片描述
在这里插入图片描述
然后我们可以看一下 XR Controller(Action-based) 和 XR Controller(Device-based) 在 Inspector 面板上的区别:

XR Controller(Action-based):

在这里插入图片描述

XR Controller(Device-based):

在这里插入图片描述

而在我写的系列教程中,使用的都是 Action-based 的组件,那么这两种版本到底有什么区别呢?

⭐⭐⭐

那么这就涉及到 Unity VR 中的两种输入系统:Input System 和 XR Input Subsystem

这两种系统在我写的 Unity VR 系列教程(基于 OpenXR + XR Interaction Toolkit)中的第二篇(手部动画)中有进行介绍(链接:Unity VR开发教程 OpenXR+XR Interaction Toolkit 2.1.1 (二) 手部动画,可以看编写脚本控制手部动画的那部分)

总结来说,XR Input Subsystem 是 Unity 为了给不同 XR 厂商的设备做适配,推出的一款处理 XR 中动作与物理设备(比如 VR 手柄上各种按键)之间映射关系的输入系统。Input System 是 Unity 新推出的通用输入系统,同样需要配置动作和物理设备的映射关系,比如指定“按下手柄的 Grip 键”时,触发的是“抓取”这个动作。

而 Device-based 对应的是 XR Input Subsystem
Action-based 对应的是 Input System

它们的区别是:(下面先用设备按键来指代物理设备)

  • XR Input Subsystem 使用起来更加简单,但是动作与设备按键的绑定是无法修改的(因为 Unity 官方已经帮我们定义好了)
  • Input System 可以自由配置动作和按键的映射关系,灵活性更高。

比如我想按下手柄的 Trigger 键来进行抓握,可以直接在 Input Action Asset (Input System 里的功能)里对 Select 动作和设备按键的绑定进行更改。而 XR Input Subsystem 预先提供了几个按键配置,比如 “按下手柄的 Grip 键” 就是用 “Grip” 来表示,“按下手柄的 Trigger 键” 就是用 “Trigger” 表示,这些按键配置是无法修改的,我们只能在 XR Controller(Device-based)中的 Select Usage 中切换预先设定的按键配置。

Unity 官方推荐使用的是 Action-based 的版本,因为它的灵活性更高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY-nb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值