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

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

Lisa Kudrow
Lisa Kudrow原創
2025-02-20 09:29:09976瀏覽

使用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