首页 > web前端 > js教程 > 使用JavaScript和Leap Motion进行骨骼跟踪

使用JavaScript和Leap Motion进行骨骼跟踪

Lisa Kudrow
发布: 2025-02-20 09:29:09
原创
964 人浏览过

使用JavaScript和Leap Motion进行骨骼跟踪

在将JavaScript与下一代技术一起使用时,Leap Motion是我最喜欢使用的设备之一。通过跳跃运动,JavaScript并不是一个后果。它不是发烧友一起入侵的第三方模块 - 它是由Leap Motion团队谨慎地考虑的,每个新的API发行。他们最近在Beta的V2.1发行的最新版本令人兴奋。在本文中,我将概述JavaScript开发人员可用的新功能。

钥匙要点

LEAP Motion API v2.1目前在Beta中,为JavaScript开发人员提供了用于骨骼跟踪的新功能,包括其他手数据和手指数据。
    >
  • API包含“ Hand.conconvence”,该值提供了一个值,以指示LEAP Motion设备对其数据的确定程度。它还包括“ hand.type”,以确定它是左手还是右手,“ hand.pinchstrength”,以测量拇指和手指在一起的距离,以及“手。
  • Leap Motion API提供详细的手指数据,包括每种手指的类型以及是否扩展。它还提供了每个手指中四个手指骨骼的数据,从手腕到每个手指的尖端。
  • >
  • > V2 LEAP Motion API还支持诸如Oculus VR之类的VR耳机,并从LEAP Motion提供对实际图像数据的访问,但这些功能尚未在JavaScript API中可用。
  • >以更大的信心跟踪那些手
  • > API为每只手提供了其他数据。手动数据可在框架中获得。手机就像在上一个API中一样,但是在更新中,我们获得了一系列精彩的新数据,这将使Leap Motion Devs的生活更轻松。手置信度

    >我在新API中最喜欢的夹杂物之一是能够知道其数据的Leap运动如何确定。 HAND.SUPTICENCE提供了一个从0到1的值,该值使您知道看到的内容如何与它理解的手的模型相匹配。低值可能意味着它不确定整体数据,也可能意味着它不确定手指/骨位置。这使您可以在采取行动之前检查LEAP运动的确定性。我很想看到这会导致互动更加顺畅,并希望鼓励用户在手势上非常清楚。

    >

    手型

    > hand.type弄清楚leap运动是否认为它在看到左手还是右手。如果您的手握住拳头,那么它将在这种区别上有点挣扎。

    >

    捏强度

    > hand.pinchstrength是一个很棒的新属性,它的值在0到1的值,表示拇指和手指彼此之间的距离如何。这可能为手势和控制应用程序作为捏的一些有趣的可能性是一种很好而自然的人的手势。

    抓住力量

    hand.grabstrength返回一个从0到1的值,就像捏强度一样,但它表示您的手是平坦还是闭合拳头。这里的可能性同样令人兴奋 - 让您的用户挤压虚拟压力球或在虚拟房间里抓住并扔东西。

    >

    新手指数据

    在新的骨骼API变化中,每只手总是有五个手指,您可以为每只手指获得一组全新的数据。

    手指类型

    >您可以使用Finger.type读取每种数据表示的指示。此对象将是一个从零到四的值:

    >

    0是拇指
      >
    • 1是食指
    • 2是中指
    • 3是环手指
    • 4是小指
    • >
    • 每次leap运动在手数据中读取,它用所有五个手指读入。
    >手指扩展

    >如果某些手指没有指出LEAP运动的上方,则该设备将它们记录为未使用Finger.extended = false。

    >根据“骨骼”的名称,我们将数据降低到骨头

    >

    >我不太精通手的骨骼结构,所以我有机会在这里学习一些新知识。我的医生会为我扩大的知识感到自豪。希望有一天会进行随意的对话。

    > LEAP运动在每个手指的四个手指骨头上提供了数据,从手腕到每个手指的尖端:掌骨,近端指骨,中间的缘和远端指骨。对于大多数社会来说,这是没有意义的,所以这是我在Wikipedia Commons上找到的可爱图表:

    >手指骨细节

    >每个骨头都会更详细地详细介绍(我从手腕到手指的尖端都排列了这些):使用JavaScript和Leap Motion进行骨骼跟踪

    >手指绘制 - 掌骨骨基部的x,y和z位置。

    >手指。Mcpposition - 指关节的位置 - 掌骨和近端骨骨之间的斑点。

    >手指 - pipposition - 近端和中间段之间的位置。
      >手指dipposition - 远端骨基底的位置,它连接到中间的phanx。
    • >它还具有每个手指骨的物体,并具有更多细节 - metacarpal,Finger.proximal,Finger.Intermediate和Finger.distal。其中的每一个都在Leap Motion API中表示为骨骼,并具有以下细节:
      • bone.type - 代表骨骼类型的0到4的值:

      • 0 - metacarpal

      • 1 - 近端phalanx
      • 2 - 中间phalanx
      • 3 - 远端phalanx
      • 4 - 前臂

      • bone.basis - 提供了代表骨骼向量的二维阵列。您可以对此进行一些非常疯狂的数学,以检测特定的手指位置。在尝试使用这些价值之前,我需要适应一些数学练习,但这很棒,潜力就在那里!

        骨。骨和骨。Nextjoint - 骨头末端的坐标分别最接近手腕和最接近手指尖端的骨头。骨长 - 毫米中的骨头长度。
      • 骨 - 宽 - LEAP运动在其文档中最好地描述了“围绕该骨头的肉质部分的平均宽度”。
      • >骨。左 - 骨头是否在左手(如果不是左手),那么它在右手,似乎没有骨头。
      • 骨。
      • 骨。方向 - 骨骼中的方向向量
      • 基本上,那是很多数据。>
      • 在具有很多数字的演示中的数据
      • >我将一个快速演示放在一起,以显示通过此API流传输多少坐标数据。以下演示显示了每个指指的坐标。刻度,手指,手指,pipposition和Finger.dipposition,以及用于手和手指的基本数据。这也只是可用数据的一小部分!
      • >
      • 演示看起来有点像这样:

      >您可以在这里的Leap Motion在此处尝试一下。

      还有更多!

      > V2 LEAP运动API不仅仅是这些功能,还具有对Oculus VR等VR耳机的支持,还提供了从LEAP Motion中访问实际图像数据的VR头戴设备。可悲的是,这些功能在JavaScript API中尚无可用,但是希望我们在API离开Beta之前很快就会看到它们!

      其他资源

      如果您正在寻找有关这些API入门的更多详细信息,那么最好的去处是Leap Motion Developer网站:

      • > JavaScript SDK文档
      • > Leap Motion JavaScript演示的画廊,请查看源代码以获取一些很好的见解!

      经常询问有关使用JavaScript和Leap Motion的骨骼跟踪的问题

      > Leap Motion如何与JavaScript一起工作以进行骨骼跟踪?>

      >使用JavaScript?

      使用Leap Motion使用JavaScript使用Leap Motion,您需要一个带有USB 2.0端口的计算机,运行Windows 7或更高版本,Mac OS X 10.7或更高版本,或Linux。您还需要LEAP运动软件,其中包括LeapJS库。该软件可以从Leap Motion网站下载。此外,您还需要一个支持WebGL的Web浏览器,例如Chrome,Firefox或Safari。设置Leap Motion与JavaScript一起使用,首先下载并从Leap Motion网站安装LEAP Motion软件。然后,使用USB电缆将LEAP运动控制器连接到您的计算机。 LEAP运动软件将自动检测控制器并开始跟踪。要使用JavaScript使用Leap Motion,请在HTML文件中使用脚本标签中包含LeapJS库。

      >

      >使用Leap Motion和JavaScript?从游戏和虚拟现实体验到教育工具和科学可视化,可用于开发广泛的应用程序。在3D空间中跟踪手动移动的能力为用户交互打开了新的可能性,使用户可以以更自然和直观的方式控制应用程序。

      LEAP运动提供高度准确的骨骼跟踪,精度高达0.01mm。它可以跟踪每个手指和手掌的位置和方向,并检测手势,例如滑动,圆圈和水龙头。 LEAPJS库提供了一个简单而直观的API,用于访问此数据,从而易于将其集成到JavaScript应用程序中。

      >除了JavaScript?

      >是的,Leap Motion可以将LEAP Motion与其他编程语言一起使用,而Leap Motion为几种编程语言提供了SDK,包括C,C#,Java,Python和JavaScript。这使其成为开发人员的多功能工具,使他们能够选择最适合其需求和技能的语言。

      >在Leap Motion和Motion和JavaScript为开发交互式应用程序提供了强大的工具,需要注意一些局限性。 LEAP运动控制器需要清晰的视线,并且可能会受到明亮的光线或反射表面的影响。此外,虽然LeapJS库提供了一个简单而直观的API,但它可能无法提供与其他语言的SDK相同的控制和灵活性。

      >

      >我如何通过Leap Motion和JavaScript和JavaScript解决问题? 🎜>

      如果您在Leap Motion和JavaScript方面遇到了麻烦,则可以采取几个步骤。首先,确保连接LEAP运动控制器并运行LEAP运动软件。如果未检测到控制器,请尝试拔下插头并将其插入。如果您在Leapjs库遇到麻烦,请确保您使用兼容的Web浏览器,并检查JavaScript控制台是否有错误。

      我可以在移动设备上使用JavaScript使用LEAP Motion吗?

      当前,Leap Motion不支持移动设备。 LEAP运动控制器需要USB连接,该连接通常在移动设备上不可用。但是,Leap Motion正在不断发展和改进他们的技术,因此这可能会在将来发生变化。

      >在哪里可以找到有关使用JavaScript使用Leap Motion的更多资源和教程?在线可用于学习如何使用JavaScript使用Leap Motion的资源。 LEAP Motion网站提供了大量信息,包括开发人员指南,API文档和社区论坛。此外,在github和堆栈溢出等网站上都有许多教程和示例。

      >

以上是使用JavaScript和Leap Motion进行骨骼跟踪的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板