本文將了解到Rokid AR開發組件
- 一、RKCameraRig組件
- 1.腳本屬性說明
- 2.如何使用
- 二、PointableUI組件
- 1.腳本屬性說明
- 2.如何使用
- 三、PointableUICurve組件
- 1.腳本屬性說明
- 2.如何使用
- 四、RKInput組件
- 1.腳本屬性說明
- 2.如何使用
- 五、RKHand組件
- 1.腳本屬性說明
- 2.如何使用
- 3.如何禁用手勢的遠近場自動切換,只用近場(PokeInteractor)交互或者只用遠場(RayInteractor)交互
- 1: 只是在某些場景禁用動態切換邏輯
- 2: 只需要某種交互,不需要恢復動態切換
- 六、Rokid AR系列教程
Rokid SDK為Unity開發者提供了五大核心組件,分別是RKCameraRig、PointableUI、PointableUICurce、RKInput和RKHand。本博客將重點帶大家了解各組件的關鍵屬性以及如何使用這些組件開發AR場景。
一、RKCameraRig組件
可以看到RKCameraRig組件掛載了三個腳本,這三個腳本就是用來控制渲染、場景、設備設置。
1.腳本屬性說明
2.如何使用
這是實現AR場景必要的組件,需從Project面板中查找RKCameraRig,然后該預制體拖放到Hierarchy面板中。使用默認配置或根據需求配置相關屬性即可。
Tip: RKCameraRig加載路徑 Roikd Unity XR SDK/Runtime/Resources/Prefabs/BaseSetting/RKCameraRig
可以打開官方例子uxr001-HeadTracking自行體驗
二、PointableUI組件
PointableUI組件是Master系統用來與UGUI進行交互的。
1.腳本屬性說明
2.如何使用
需從Project面板中查找PointableUI ,然后該預制體拖放到Hierarchy面板中。
tip: PointableUI 加載路徑 Roikd Unity XR SDK/Runtime/Resources/Prefabs/UI/PointableUI/PointableUI
可以打開官方例子:uxr020-RKAdsorbUI 自行體驗。
三、PointableUICurve組件
曲面UI是Master系統的特色之一,實現曲面UI的必須組件是PointableUICurve。
1.腳本屬性說明
2.如何使用
需從Project面板中查找PointableUICurve,然后該預制體拖放到Hierarchy面板中。
tip: PointableUICurve加載路徑 Roikd Unity XR SDK/Runtime/Resources/Prefabs/UI/PointableUI/PointableUI_Curve
四、RKInput組件
RKInput是控制交互的基礎管理組件,管理輸入事件模塊的生命周期;輸入模塊的初始化、激活、銷毀、動態切換等。
1.腳本屬性說明
2.如何使用
需從Project面板中查找RKInput ,然后該預制體拖放到Hierarchy面板中。
tip: RKInput 加載路徑 Roikd Unity XR SDK/Runtime/Resources/Prefabs/RKInput/[RKInput]
可以打開官方例子:uxr017-TouchPadRay 自行體驗。
五、RKHand組件
RKHand是手勢交互的基礎組件,包含手勢的遠場交互(RayInteractor)、近場交互(PokeInteractor)、手勢 Mesh 的渲染等
1.腳本屬性說明
2.如何使用
需從Project面板中查找RKInput ,然后該預制體拖放到Hierarchy面板中。
如果你想自定義手勢的樣式和交互的話,可以將 RKHand 預制體拖拽到場景中,然后修改預制體
tip: RKHand 加載路徑 Roikd Unity XR SDK/Runtime/Resources/Prefabs/UI/Interactor/RKHand
可以打開官方例子:uxr015-RKHandGrab 自行體驗。
3.如何禁用手勢的遠近場自動切換,只用近場(PokeInteractor)交互或者只用遠場(RayInteractor)交互
雖然SDK 默認提供了自適應場景的遠近場切換解決方案,但是在某些場景需求下,不需要自動切換的需求 為了滿足該需求,Rokit也提供了兩種方案。
1: 只是在某些場景禁用動態切換邏輯
首先需要禁用 RKHand/LeftHandInteractors 和 RKHand/LeftHandInteractors 上的 InteractorStateChange 腳本
調用 InteractorStateChange.OnPokeInteractorUnHover 事件,激活場景的遠場交互
調用 InteractorStateChange.OnPokeInteractorHover 事件,激活場景的近場交互
可以根據自己的需求在需要的時候選擇激活 RKHand/LeftHandInteractors 和 RKHand/LeftHandInteractors 上的 InteractorStateChange 腳本來恢復動態的切換邏輯
2: 只需要某種交互,不需要恢復動態切換
移除 RKHand/LeftHandInteractors 和 RKHand/LeftHandInteractors 上的 InteractorStateChange 腳本
根據自己的需求保留 RKHand/LeftHandInteractors 和 RKHand/RightHandInteractors 下的某種交互
六、Rokid AR系列教程
如果你想學習更多系列教程,請閱讀以下博客:
1、基于Unity3D的Rokid AR Glass項目開發實戰教程
2、Rokid官方組件詳解