SenseGlove Nova 2+Unity开发笔记3

插件中Calibration Void是一项标准场景,位于SenseGlove/Calibration文件夹内。

它有两种变体:一种适用于非XR应用**(CalibrationVoid)** ,另一种适用于XR应用**(Calibration Void_XR)**。

它借助逻辑脚本 SG_CalibrationVoid来通过上述描述的 SGCalibrationSequence 启动和结束校准过程。

这一场景将"锁定"用户于一个专用界面中,界面上的指示会随着用户的视线移动而变化,并通过示例手势展示一系列动作以进行校准。如果用户的手部动作已足够充分,他们可通过做出"竖起大拇指"的示意来确认校准过程,之后便可(自动)进入下一场景。

发布的时候使用这个场景作为第一个场景,以保障手套在一开始就已经校准好了

场景中有三个自动过度到下个场景的方法,可以让SG_CalibrationVoid脚本自动切换至预设场景。一旦检测到首个场景,CalibrationVoid便会从后台加载此后续场景,因此一旦校准完成,这一切换过程便可即刻实现。

1.changeSceneAfter

如果这个值小于0校准完后将不会进入任何场景。

2.goToSceneIndex

通过UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(int sceneBuildIndex)加载场景名称。

3.goToSceneName

通过UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(string sceneName)加载场景名称。

CalibrationVoid 脚本有一个CalibrationCompleted事件,该事件在算法完成后触发。你可以通过此事件来调用你自己的场景切换。

重置校准

在会话期间,您可能需要重新校准手部。例如,在切换用户或应用启动后戴上手套时。

在代码中:

重置校准的最简单方法是调用静态函数

SGCore.HandLayer.ResetCalibration(true); //Resets the right Hand profile

SGCore.HandLayer.ResetCalibration(false); //Resets the left hand profile

如果引用了任何SG_HandComponent 或SG_TrackedHand

复制代码
SG_TrackedHand myHand;
SGCore.HandLayer.ResetCalibration(myHand.TracksRightHand());

Returning to the CalibrationVoid

If you have included the Calibration Void inside your simulation, you can return your used to said scene to automatically reset calibration, and re-run the calibration sequence with instructions

(这块电脑翻译的我不喜欢,贴原文)

相关推荐
Oiiouui1 小时前
Godot(4.x): 游戏管理器: Excel 动态依赖注入实现
游戏·游戏引擎·godot
Engineer邓祥浩2 小时前
宏观认知(二):AI项目落地与团队协作——吴恩达《AI for Everyone》Week2学习笔记
人工智能·笔记·学习
中屹指纹浏览器2 小时前
隐性风控:解析指纹浏览器IP与环境参数冲突BUG及全套适配方案
经验分享·笔记
WMX10122 小时前
Unity-shader学习记录
学习·unity·游戏引擎
WMX10122 小时前
Hololens 2 上部署 Unity+MRTK 项目_模型着色
unity·游戏引擎·hololens
游乐码2 小时前
unity基础(八)协程
游戏·unity·c#·游戏引擎
sakiko_2 小时前
Swift学习笔记35-本地化
笔记·学习·swift
鹏北海-RemHusband12 小时前
Go 语言进阶笔记 — 面向 JS/TS 前端开发者
笔记·golang
nnsix14 小时前
Unity QFramework ResKit、UIKit 笔记
笔记