Unity Vision Pro 開發|六、MR 物件交互

目錄
Unity Vision Pro 開發|六、MR 物件交互

 

教學說明

 

課程分為上、中、下三個部分,上為公開部分,中和下僅社群可見,歡迎關注原文作者以及加入社群。

 

你可以隨時回到初始頁:Unity Vision Pro 開發|一、開發前準備 來了解從頭開始串連 UnityApple Vision Pro 的完整流程。

 


 

 

教學內容概括

 

使用 PolySpatial + XR Interaction Toolkit 開發 visionOS 的 MR 模式下的物體交互功能:

  • 眼動 + 手追交互
  • Poke 手指點觸
  • 近距離抓取物體
  • 雙手縮放物體
  • 物體高亮效果
  • 物體陰影效果
  • 交互事件
     
Unity Vision Pro 開發|六、MR 物件交互

 

 

Unity XR 開發工具架構(底層 + 高層 SDK)

 

底層 SDK(對接硬件)

不同的底層 SDK 對接對應的 XR 硬件平台,讓 Unity 程序兼容到對應的硬件設備上,適配硬件的特性。提供的 API 偏底層,開發者通常只要在 XR Plug-in Management 中選擇對應的供應商,然後進行設置,Unity 會自動處理程序與硬件的兼容,開發者很少會在代碼中直接調用底層 SDK。 

例:Apple visionOS、Oculus、OpenXR

 

Unity Vision Pro 開發|六、MR 物件交互
Unity Vision Pro 開發|六、MR 物件交互

 

 

Unity XR 開發架構(底層 + 高層 SDK)

 

高層 SDK(應用交互層)

將 XR 應用開發中的常用交互功能封裝成模塊給開發者使用。開發者會在開發流程中經常使用高層 SDK。

應用層的交互例如:抓取、Poke 手指點觸、MR 環境識別……

經典的高層 SDK:XR Interaction Toolkit、Meta XR SDK、PolySpatial、AR Foundation、SteamVR SDK

 

 

XR Interaction Toolkit(XR 交互工具包)

 

  • 簡稱 XRI
  • Unity 推出的跨平台 XR 交互開發工具包
    1. 封裝了通用的 XR 交互模塊,如抓取、點觸、射線、移動
    2. 使用 Unity 的 Input System 處理不同平台的輸入
    3. 支持 OpenXR 標準(但是蘋果不支持)
    4. 能結合 ARFoundation 開發 AR/MR 應用

 

 

Input System(Unity 新版輸入系統)

 

  • 將輸入設備和動作邏輯互相分離,通過配置映射來處理輸入信息
  • 動作(Action)是 Input System 的核心
  • 在 Unity 中,我們只需要提前配置好動作和輸入的映射關係,無需寫代碼來判斷設備輸入,只需把重心放在邏輯處理上,也就是檢測到輸入後要做的事情

 

Unity Vision Pro 開發|六、MR 物件交互

 

例:射擊

 舊版輸入系統新版輸入系統
輸入:按下手柄板機鍵代碼:如果檢測到按下手柄板機鍵,執行射擊代碼配置文件:將“射擊”動作與“按下手柄板機鍵”綁定
代碼:如果檢測到射擊動作發生,執行射擊代碼
輸入:雙指捏合代碼:如果檢測到雙指捏合,執行射擊代碼配置文件:將“射擊”動作與“雙指捏合”綁定
代碼:如果檢測到射擊動作發生,執行射擊代碼

 

這邊比較了舊版與新版輸入系統在處理“射擊”動作時的差異。新版系統中動作與輸入設備分離,透過配置文件綁定後,代碼邏輯變得更加簡潔和模塊化。

 

 

Unity visionOS 开发工具选择

 

基於 Metal 渲染的應用
 底層:Apple visionOS
 高層:XRI + InputSystem
     (+ AR Foundation + XR Hands)

基於 RealityKit 渲染的應用
 底層:Apple visionOS
 高層:XRI + InputSystem + PolySpatial
     (+ ARFoundation + XR Hands)

 

 

visionOS 共享空間輸入類型

 

Unity Vision Pro 開發|六、MR 物件交互

 

 

XR 交互參與的對象

 

  • Interactor:發起交互的對象
  • Interactable:被交互的對象

XRI 中通過 XR Interaction Manager 腳本統一管理場景中所有的 Interactor 和 Interactable

 

上一步:Unity Vision Pro 開發|五、PolySpatial 2.0 導入方式

下一步:Unity Vision Pro 開發|七、UI 互動+ 虛擬鍵盤

————————————————

以上內容來自 CSDN 作者:YY-nb

 

 

 

本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。

特約作家簡介

X
A
Y
B
JamXu的頭像
JamXu

經中華網龍遊戲企劃進入遊戲圈,然後被雷打到去學程式前後端又學了點設計帶帶幾個研發團隊,見證了 3D 渲染技術及遊戲引擎互相進步,也見證了研發代理的更迭與博弈遊戲的興起,再毅然研究起 SEO 網路行銷社群廣告投放,深信自研自賣才是最大贏家,期望能為台灣研發重回輝煌時光貢獻一點力量。如果你也有遊戲夢,歡迎交流認識。


支持贊助 / DONATE

亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。

亞洲電玩通AsiaGameMaster - Steam 遊戲鑑賞家
亞洲電玩通AsiaGameMaster - FB 粉絲專頁
亞洲電玩通AsiaGameMaster - IG 粉絲專頁
亞洲電玩通AsiaGameMaster - Twitter
亞洲電玩通AsiaGameMaster - Yoytube 粉絲專頁
亞洲電玩通AsiaGameMaster - Tiktok

BTC

亞洲電玩通AsiaGameMaster - BTC 鏈贊助地址

352Bw8r46rfXv6jno8qt9Bc3xx6ptTcPze

 

ETH

亞洲電玩通AsiaGameMaster - ETH 鏈贊助地址

0x795442E321a953363a442C76d39f3fbf9b6bC666

 

TRON

亞洲電玩通AsiaGameMaster - TRON 鏈贊助地址

TCNcVmin18LbnXfdWZsY5pzcFvYe1MoD6f

延伸閱讀