手追踪最早在2019年底登陆Oculus Quest,但初始版本存在一些问题,没有考虑到技术的局限性,因此在正式发布时并没有包含手追踪支持。作者经过进一步的开发和借鉴其他开发者的经验,在最近发布的《立体拼图》手追踪更新中构建了令人满意的作品。交互主要围绕将小的不规则拼图块放置在一个拼图网格中,因此精确度是主要要求。为避免笨拙地推开悬浮的拼图块,作者决定不让手以物理方式运作,而是通过拼图块直到主动抓取。通过透明度提示手是虚拟的,更容易从拼图中取出拼图块。在检测用户抓取和释放物体意图方面,采取了基于接触的方法,即当拇指和食指交叉并在小范围内靠近时,拼图块即被抓取,而不需要完全捏合。一旦抓取了拼图块,会保存拇指和食指之间的距离,并基于该距离计算一个释放的边界范围。通过调整释放的边界和阈值,使释放物体更容易。调试可视化中的交互小组件的打开,通过调整释放边界可以减少抓取动作的“粘滞”。这种方法的限制是使使用食指以外的手指进行抓取变得更困难。进行中点检查时,除了检查食指和拇指相交的拼图块外,还会检查食指和拇指指尖之间的中点位置,以避免误判。抓取拼图与抓取拼图块类似,但在从控制器切换到手部时,其抓取区域会动态增大。进行动态手部平滑处理可以改善手部跟踪数据的抖动,但过度平滑会导致手部产生“延迟”感。增加手部持物时的平滑度有助于更稳定的握持。在按钮操作方面,新版本的手部跟踪使按钮能够被真正按下,通过食指射线命中按钮背后的碰撞器进行触发,并通过进一步的检查来防止虚假触发。Doria的论文“向导去纠正手势交互行为的问题”)。在悬停在对象上时,还会发出声音效果以增强反馈。当手指悬停在一个可触发的按钮上时,按钮会发光以表示可以按下。如果玩家试图与按钮交互,但手指不正确的面向按钮或者玩家没有注视手指时,按钮将无法按下以防止虚假触发。通过这些交互线索,用户可以清楚地知道如何与虚拟环境中的对象进行交互,并且可以减少误操作的发生。
在设计交互体验时,考虑到不同人背景和操作方式的差异是至关重要的。通过进行玩测试,可以更好地了解用户如何处理交互,并根据测试结果优化交互设计。为了提供清晰的交互指引,引入交互线索如颜色变化、声音效果、发光按钮等,可以帮助用户理解如何正确地进行交互并减少误操作。同时,确保手指正确面向按钮并且玩家注视手指时才能触发交互,可以防止虚假触发的发生。Cubism 是一款基于 Oculus Quest 的拼图游戏,利用 Quest 的手部追踪功能,使玩家能够直接使用手指来完成游戏中的交互。
在游戏中,当玩家悬停在拼图块上时,指尖会变为白色,并出现投影阴影,指示拼图块的交互位置。当玩家成功抓取拼图块时,指尖变得实心,拼图块上的高亮闪烁,并播放短音频提示。
按钮交互方面,按钮在悬停时会向外延伸,食指的指尖被突出显示,按钮表面上的微弱投影阴影指示了指尖的交互位置。当食指触碰到按钮时,按钮会跟随手指移动,并播放音频提示来确认点击。
考虑到人们使用手部进行交互的方式可能有所不同,Cubism 增加了一些冗余的设计,以适应不同的交互方式。例如,碰撞器覆盖了整个手指,而不仅仅是指尖,以适应一些玩家可能用拳头而不是手指进行抓取的情况。
游戏还对 Quest 的手部追踪的局限性进行了介绍,并提供了最佳实践的建议,例如在光照良好的空间中玩耍,避免交叉双手等。
虽然 Quest 的手部追踪功能仍有改进空间,但作者对开始探索和支持这种新的输入方式感到兴奋,并认为手部追踪有很大的机会成为未来独立 AR 设备的首选输入方法。
(译者注:原文链接为https://thomasschmitt.medium.com/designing-hand-tracking-for-cubism-8cd5d327fac7)