?
1,安裝
?官方文檔比較詳細(xì)。
在“升級XR Interaction Toolkit”時,package manager找不到,參考文檔Installation | XR Interaction Toolkit | 2.1.1,我的unity版本是2021.3.1f1,則需要“Add package by name”,搜“com.unity.xr.interaction.toolkit”即可
2,場景漸變
XR Origin的PXR_Manager中勾選“Open Screen Fade”,在Camera中就會自動增加PXR_Screen Fade組件。
3,靜態(tài)注視點渲染
PXR_Manager中選擇“Foveation Level”
4,屏幕刷新率
默認(rèn)72fps
5,焦點感知
事件 | 說明 |
---|---|
PXR_Plugin.System.FocusStateLost 應(yīng)用程序失去輸入焦點。 | 例如,應(yīng)用程序運行時,若某個用戶按下手柄上的 Home 按鈕,系統(tǒng) UI 顯示,應(yīng)用程序會失去輸入焦點。此時,開發(fā)者可以暫停游戲、禁用用戶的輸入功能(例如手柄)或通知其他在線用戶該用戶當(dāng)前沒有專注于應(yīng)用程序。 |
PXR_Plugin.System.FocusStateAcquired 應(yīng)用程序獲得輸入焦點。 | 系統(tǒng) UI 被關(guān)閉時,該事件觸發(fā)。此時,開發(fā)者可以恢復(fù)游戲或開啟用戶的輸入功能。 |
6,手柄&頭戴輸入
按鍵 | Unity 鍵值 |
---|---|
菜單鍵 | CommonUsages.menuButton:表示菜單鍵的激活狀態(tài)(即是否被按下)。 |
扳機鍵 |
|
抓握鍵 |
|
搖桿 |
|
X/A | CommonUsages.primaryButton:表示 X/A 鍵的激活狀態(tài)。 |
Y/B | CommonUsages.secondaryButton:表示 Y/B 鍵的激活狀態(tài)。 |
以下頭盔 | |
返回鍵 | KeyCode.Escape |
確認(rèn)鍵 | KeyCode.JoystickButton0 |
Home 鍵 | KeyCode.Home 系統(tǒng)占用,默認(rèn)不開放。 |
音量增加鍵 | VOLUME_UP 安卓標(biāo)準(zhǔn)按鍵。系統(tǒng)占用,默認(rèn)不開放。 |
音量減小鍵 | VOLUME_DOWN 安卓標(biāo)準(zhǔn)按鍵。系統(tǒng)占用,默認(rèn)不開放。 |
使用:
rightController.inputDevice.TryGetFeatureValue(CommonUsages.grip, out float grip);
leftController.inputDevice.TryGetFeatureValue(CommonUsages.primaryButton, out bool isXPressed);
7,追蹤
模式 | 說明 |
---|---|
Device | 即通常理解的 Eye 模式。進(jìn)入應(yīng)用時,會默認(rèn)將設(shè)備的初始位置設(shè)置為原點,而不會根據(jù)設(shè)備檢測到地面的高度來計算原點。 提示:該模式比較適合坐姿體驗的應(yīng)用。 |
Floor | 進(jìn)入應(yīng)用時,將設(shè)備的初始位置結(jié)合設(shè)備檢測到地面的高度來計算原點。該模式需要設(shè)備支持地面檢測功能( 例如:PICO Neo 3 系列)。 提示:該模式比較適合站立式體驗的應(yīng)用。 |
Tracking Reference | 即通常理解的 Stage 模式,校準(zhǔn)的時候不會重置場景正方向。 提示:該模式比較適合想要用戶在體驗期間保持固定空間和方位的場景。 |
設(shè)置:
- 頭部追蹤:XR Origin -> Tracking Origin Mode
- 眼動追蹤:PXR_Manager -> Eye Tracking
- 手勢追蹤:PXR_Manager -> Hand Tracking
測試:
// 頭部追蹤,獲取XR Origin中的Main Camera位姿
transform.position = mainCamera.position + new Vector3(0, 0, 1);
transform.rotation = mainCamera.rotation;
// 眼動追蹤,只在Neo3 Pro Eye上運行,在Neo3上面不work。
bool b = PXR_EyeTracking.GetLeftEyePositionGuide(out Vector3 position);
// 手勢追蹤,返回false,看來目前neo3上面還沒支持手勢識別
bool b = PXR_HandTracking.GetSettingState();
8,Action-based input 設(shè)置
老版的是Device-based input,新版的是Action-based input,更靈活,官方推薦。先進(jìn)行配置:
左右手柄上的XR Controller的成員變量初始為空,分別設(shè)置為預(yù)設(shè)的XRI Default Left Controller和XRI Default Right Controller,如下圖:
傳送Teleportation的設(shè)置和老版一致,轉(zhuǎn)身SnapTurn的設(shè)置有所區(qū)別:文章來源:http://www.zghlxwxcb.cn/news/detail-403967.html
開發(fā)者平臺文章來源地址http://www.zghlxwxcb.cn/news/detail-403967.html
到了這里,關(guān)于Pico Unity Integration SDK開發(fā)筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!