1,安装
官方文档比较详细。
在“升级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,静态注视点渲染
PXR_Manager中选择“Foveation Level”
4,屏幕刷新率
默认72fps
5,焦点感知
事件 | 说明 |
---|---|
PXR_Plugin.System.FocusStateLost 应用程序失去输入焦点。 | 例如,应用程序运行时,若某个用户按下手柄上的 Home 按钮,系统 UI 显示,应用程序会失去输入焦点。此时,开发者可以暂停游戏、禁用用户的输入功能(例如手柄)或通知其他在线用户该用户当前没有专注于应用程序。 |
PXR_Plugin.System.FocusStateAcquired 应用程序获得输入焦点。 | 系统 UI 被关闭时,该事件触发。此时,开发者可以恢复游戏或开启用户的输入功能。 |
6,手柄&头戴输入
按键 | Unity 键值 |
---|---|
菜单键 | CommonUsages.menuButton:表示菜单键的激活状态(即是否被按下)。 |
扳机键 |
|
抓握键 |
|
摇杆 |
|
X/A | CommonUsages.primaryButton:表示 X/A 键的激活状态。 |
Y/B | CommonUsages.secondaryButton:表示 Y/B 键的激活状态。 |
以下头盔 | |
返回键 | KeyCode.Escape |
确认键 | KeyCode.JoystickButton0 |
Home 键 | KeyCode.Home 系统占用,默认不开放。 |
音量增加键 | VOLUME_UP 安卓标准按键。系统占用,默认不开放。 |
音量减小键 | VOLUME_DOWN 安卓标准按键。系统占用,默认不开放。 |
使用:
rightController.inputDevice.TryGetFeatureValue(CommonUsages.grip, out float grip);
leftController.inputDevice.TryGetFeatureValue(CommonUsages.primaryButton, out bool isXPressed);
7,追踪
模式 | 说明 |
---|---|
Device | 即通常理解的 Eye 模式。进入应用时,会默认将设备的初始位置设置为原点,而不会根据设备检测到地面的高度来计算原点。 提示:该模式比较适合坐姿体验的应用。 |
Floor | 进入应用时,将设备的初始位置结合设备检测到地面的高度来计算原点。该模式需要设备支持地面检测功能( 例如:PICO Neo 3 系列)。 提示:该模式比较适合站立式体验的应用。 |
Tracking Reference | 即通常理解的 Stage 模式,校准的时候不会重置场景正方向。 提示:该模式比较适合想要用户在体验期间保持固定空间和方位的场景。 |
设置:
- 头部追踪: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 设置
老版的是Device-based input,新版的是Action-based input,更灵活,官方推荐。先进行配置:
左右手柄上的XR Controller的成员变量初始为空,分别设置为预设的XRI Default Left Controller和XRI Default Right Controller,如下图:
传送Teleportation的设置和老版一致,转身SnapTurn的设置有所区别:
文章来源:https://www.toymoban.com/news/detail-403967.html
开发者平台文章来源地址https://www.toymoban.com/news/detail-403967.html
到了这里,关于Pico Unity Integration SDK开发笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!