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

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

相关推荐
chnyi6_ya10 分钟前
论文阅读笔记 | One Sentence, One Drama: 基于多智能体系统的个性化短剧生成
论文阅读·笔记
ysa05103035 分钟前
【板子】短序列dp(换成维护更小常数维度的dp)
c++·笔记·算法·板子
Dory_Youth2 小时前
联想笔记本电脑失灵
运维·笔记·电脑
2501_926978332 小时前
认知边缘的双向耦合:从核技术类比到智力货币时代
人工智能·经验分享·笔记·ai写作
hanlin032 小时前
刷题笔记:力扣第242、349题(哈希表)
笔记·算法·leetcode
茯苓gao3 小时前
嵌入式开发笔记:CAN与CAN FD完全指南——从帧格式差异到MCU选型实战
网络·笔记·stm32·嵌入式硬件·学习·汽车
FellAveal4 小时前
【Go语言入门学习笔记】Part19.速率控制、原子计数器、互斥锁(Mutex)、状态协程
笔记·学习·golang
极地野狼 音乐哔哔5 小时前
AI Agent 30天速成|Day4 笔记
人工智能·笔记
oier_Asad.Chen6 小时前
【洛谷题解/AcWing题解】洛谷P4011 孤岛营救问题/AcWing1131拯救大兵瑞恩
数据结构·笔记·学习·算法·动态规划·图论·宽度优先
xxwl5856 小时前
Git 完整学习笔记:从入门到团队协作
笔记·git·学习