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

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

相关推荐
郝学胜-神的一滴17 小时前
中级OpenGL教程 013:渲染器类架构设计与逐帧渲染流程详解
开发语言·c++·unity·游戏引擎·图形渲染·opengl·unreal
百里香酚兰18 小时前
【python学习笔记】pyttsx3库疑似只播报一次语音
笔记·python·学习
chnyi6_ya21 小时前
论文阅读笔记:VideoWeaver — 面向智能体长视频生成的技能评估与进化
论文阅读·笔记·音视频
J_yyy21 小时前
基于Reactor的文件管理服务开发笔记
c++·笔记·reactor·多线程编程·muduo
浩瀚地学21 小时前
【Java基础复习】IO流(四)
java·开发语言·经验分享·笔记·学习
疯狂打码的少年21 小时前
【操作系统】板块总结 + 下期预告(软件工程)
笔记·软件工程
_helen_52021 小时前
unreal engine 虚拟现实 + airsim
游戏引擎·vr·虚幻
咸甜适中1 天前
rust语言学习笔记——Tokio库(异步编程)
笔记·学习·rust·tokio
YUS云生1 天前
Python学习笔记·第29天:Git进阶——分支操作与合并冲突
笔记·python·学习
xiaoyuchidayuma1 天前
已知 ud、uq 求解三相相电压并计算调制比
笔记·学习