上面這個專欄主要介紹了 OpenXR + XR Interaction Toolkit 開發(fā)的一些常用功能逝钥。
而本專欄記錄了我使用 XR Interaction Toolkit 的過程中遇到的一些疑惑點和我認為比較重要的知識點踢故,相當于對上面這個專欄的補充說明,能讓大家對 XR Interaction Toolkit 的功能和部分原理有個更深刻的理解盆顾。
XR Toolkit Interaction 官方文檔:https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.1/manual/index.html
??Action-based 和 Device-based 的區(qū)別
在我們使用或添加 XR Interaction Toolkit 的一些組件時醉蚁,會經(jīng)吵懊担看到同樣的組件會有兩種版本僧鲁,一種時后綴加 (Action-based) 除破,另一種是后綴加 (Device-based)牧氮,如圖所示:
然后我們可以看一下 XR Controller(Action-based) 和 XR Controller(Device-based) 在 Inspector 面板上的區(qū)別:
XR Controller(Action-based):
XR Controller(Device-based):
而在我寫的系列教程中,使用的都是 Action-based 的組件瑰枫,那么這兩種版本到底有什么區(qū)別呢踱葛?
???
那么這就涉及到 Unity VR 中的兩種輸入系統(tǒng):Input System 和 XR Input Subsystem
這兩種系統(tǒng)在我寫的 Unity VR 系列教程(基于 OpenXR + XR Interaction Toolkit)中的第二篇(手部動畫)中有進行介紹(鏈接:Unity VR開發(fā)教程 OpenXR+XR Interaction Toolkit 2.1.1 (二) 手部動畫,可以看編寫腳本控制手部動畫的那部分)
總結來說光坝,XR Input Subsystem 是 Unity 為了給不同 XR 廠商的設備做適配尸诽,推出的一款處理 XR 中動作與物理設備(比如 VR 手柄上各種按鍵)之間映射關系的輸入系統(tǒng)。Input System 是 Unity 新推出的通用輸入系統(tǒng)盯另,同樣需要配置動作和物理設備的映射關系性含,比如指定“按下手柄的 Grip 鍵”時,觸發(fā)的是“抓取”這個動作鸳惯。
它們的區(qū)別是:(下面先用設備按鍵來指代物理設備)
XR Input Subsystem 使用起來更加簡單商蕴,但是動作與設備按鍵的綁定是無法修改的(因為 Unity 官方已經(jīng)幫我們定義好了)
Input System 可以自由配置動作和按鍵的映射關系,靈活性更高芝发。
比如我想按下手柄的 Trigger 鍵來進行抓握绪商,可以直接在 Input Action Asset (Input System 里的功能)里進行更改。但是 XR Input Subsystem 只允許按下手柄的 Grip 鍵來進行抓握辅鲸。
而 Device-based 對應的是 XR Input Subsystem
Action-based 對應的是 Input System
Unity 官方推薦使用的是 Action-based 的版本格郁,因為它的靈活性更高。
轉載于:https://blog.csdn.net/qq_46044366/category_11656077.html