Maison > interface Web > js tutoriel > Suivi squelettique avec JavaScript et le mouvement Leap

Suivi squelettique avec JavaScript et le mouvement Leap

Lisa Kudrow
Libérer: 2025-02-20 09:29:09
original
963 Les gens l'ont consulté

Suivi squelettique avec JavaScript et le mouvement Leap

Lorsqu'il s'agit d'utiliser JavaScript avec la technologie de prochaine génération, le mouvement Leap est l'un de mes appareils préférés avec lesquels travailler. Avec le mouvement Leap, JavaScript n'est pas une pensée après. Ce n'est pas un module tiers piraté ensemble par des passionnés - il est développé avec soin et considération par l'équipe Leap Motion à chaque nouvelle version de l'API. Leur dernière version de V2.1, actuellement en version bêta, est sacrément excitante. Dans cet article, je donnerai un aperçu des nouvelles capacités disponibles pour les développeurs JavaScript.

Les plats clés

  • L'API JEAP Motion V2.1, actuellement en version bêta, fournit aux développeurs JavaScript de nouvelles capacités de suivi squelettique, y compris des données de main supplémentaires et des données sur les doigts.
  • L'API comprend «Hand.Confidence» qui fournit une valeur pour indiquer à quel point le dispositif de mouvement Leap est certain de ses données. Il inclut également «Hand.Type» pour déterminer s'il s'agit d'une main gauche ou droite, «main.pinchStrength» pour mesurer à quel point le pouce et le doigt sont proches et «Hand.grabstrength» pour représenter si la main est ouverte ou fermée.
  • L'API LEAP Motion fournit des données détaillées sur les doigts, y compris le type de chaque doigt et si elle est étendue ou non. Il fournit également des données sur les quatre doigts de chaque doigt, commandés du poignet à la pointe de chaque doigt.
  • Bien que l'API V2 Leap Motion prend également en charge les casques VR comme l'Oculus VR et donne accès aux données d'image réelles du mouvement LEAP, ces fonctionnalités ne sont pas encore disponibles dans l'API JavaScript.

Gardez une trace de ces mains avec une plus grande confiance

L'API fournit des données supplémentaires pour chaque main globale. Les données de la main sont disponibles dans Frame.Hands tout comme dans l'API précédente, mais dans les mises à jour, nous obtenons une merveilleuse collection de nouvelles données qui faciliteront la vie pour les développeurs de mouvement Leap.

Confiance de la main

L'une de mes inclusions préférées dans la nouvelle API est la capacité de savoir à quel point le mouvement Leap est certain de ses données. hand.confidence fournit une valeur de 0 à 1, ce qui vous permet de savoir à quel point ce qu'il constate correspond au modèle d'une main qu'il comprend. De faibles valeurs pourraient signifier qu'il n'est pas certain des données globales de la main ou cela pourrait signifier qu'il est incertain des positions des doigts / osseuses. Cela vous permet de vérifier à quel point le mouvement Leap est sûr avant de prendre une action. Je serais ravi de voir cela conduire à des interactions beaucoup plus lisses et, espérons-le, encourager les utilisateurs à être très clairs dans leurs gestes.

Type de main

Hand.Type stimule si le mouvement Leap pense qu'il voit une main gauche ou une main droite. Si votre main est dans un poing, alors ça va lutter un peu avec cette distinction.

Pince Strength

hand.pinchStrength est une merveilleuse nouvelle propriété qui donne une valeur de 0 à 1, ce qui représente à quel point le pouce et le doigt sont proches les uns des autres. Cela pourrait ouvrir des possibilités intéressantes pour les gestes et le contrôle des applications en tant que pincement est un geste humain agréable et naturel.

Grab Force

hand.grabStrength renvoie une valeur de 0 à 1 comme le fait la résistance à la pincée, mais il représente si votre main est ouverte à plat ou fermée en poing. Les possibilités ici sont tout aussi excitantes - obligez vos utilisateurs à serrer une balle de stress virtuelle ou à saisir et à jeter quelque chose dans une pièce virtuelle.

Nouvelles données de doigts

Dans les nouvelles modifications de l'API squelettique, chaque main a toujours cinq doigts et vous pouvez obtenir un tout nouvel ensemble de données pour chaque doigt que le mouvement de saut peut voir.

Type de doigt

Vous pouvez lire dans quel type de doigt chaque bit de données représente en utilisant Finger.Type. Cet objet sera une valeur de zéro à quatre:

  • 0 est un pouce
  • 1 est un index
  • 2 est un majeur
  • 3 est un annulaire
  • 4 est un petit doigt

Chaque fois que le mouvement LEAP se lit dans les données de la main, il le lit avec les cinq doigts.

doigt étendu

Si certains doigts ne pointent pas au-dessus du mouvement de saut, l'appareil les enregistre comme non étendues à l'aide de doigt.extended = false.

Selon le nom «squelettique», nous obtenons des données à l'os

Je ne connais pas bien la structure osseuse de la main, j'ai donc eu la chance d'apprendre quelque chose de nouveau ici. Mon médecin serait fier de mes connaissances élargies. En espérant que le Metacarpus entre dans une conversation occasionnelle un jour.

Le mouvement de LEAP fournit des données sur les quatre os dans chaque doigt, ordonnés du poignet à la pointe de chaque doigt: métacarpien, phalanges proximales, phalanges intermédiaires et phalanges distales. Cela n'a aucun sens pour la majeure partie de la société, alors voici un joli diagramme que j'ai trouvé sur Wikipedia Commons:

Suivi squelettique avec JavaScript et le mouvement Leap

Détails des os du doigt

Il va plus en détail avec chaque os (je les ai arrangés du poignet à la pointe du doigt):

  • doigt.Carposition - La position x, y et z de la base de l'os métacarpien.
  • doigt.mcposition - La position de l'articulation du doigt - le spot entre l'os de la phalange métacarpienne et proximal.
  • doigt.Pipposition - La position du spot entre les phalanges proximales et intermédiaires.
  • doigt.Dipposition - La position de la base de l'os distal où elle se connecte à la phalange intermédiaire.

Il a également des objets pour chaque osse de doigt avec plus de détails - Finger.Metacarpal, doigt.proximal, doigt.intermediate et doigt.distal. Chacun d'eux est représenté dans l'API de mouvement Leap comme un os avec les détails suivants:

  • Bone.Type - Une valeur de 0 à 4 représentant le type d'os:

  • 0 - Metacarpal

  • 1 - Phalange proximale
  • 2 - Phalange intermédiaire
  • 3 - Phalange distale
  • 4 - L'avant-bras

  • Bone.Basis - fournit un réseau en deux dimensions qui représente le vecteur de l'os. Vous pouvez faire des mathématiques assez folles avec cela pour détecter des positions particulières. Je devrai m'intégrer dans une pratique des mathématiques avant d'essayer d'utiliser ces valeurs, mais c'est génial que le potentiel est là!

  • os.prevjoint et os.NextJoint - Les coordonnées de l'extrémité de l'os la plus proche du poignet et de l'extrémité de l'os la plus proche du bout des doigts respectivement.
  • Bone.Length - La longueur de cet os en millimètres.
  • Bone.Width - Leap Motion décrit ce meilleur dans leurs documents comme «la largeur moyenne de la partie charnue entourant cet os».
  • Bone.left - Que l'os soit sur la main gauche (sinon, alors c'est sur la droite, il ne semble pas y avoir d'os.Rehight)
  • Bone.Center - Le point médian de l'os
  • Bone.Direction - Le vecteur de direction dans lequel l'os est

Fondamentalement, c'est une bonne quantité de données là-bas.

ces données dans une démo avec beaucoup de nombres

J'ai lancé une démo rapide pour montrer à quel point les données de coordonnées diffusent via cette API. La démo suivante montre les coordonnées pour chacun des doigts.Carposition, Finger.McPosition, Finger.Pipposition et Finger.Dipposition, ainsi que des données de base qui sont récupérées pour la main et les doigts. Ce n'est aussi qu'une petite fraction des données disponibles!

La démo ressemble un peu à ceci:

Suivi squelettique avec JavaScript et le mouvement Leap

Vous pouvez l'essayer en action avec votre mouvement de saut ici.

Il y a plus à venir!

Il y a plus à l'API de mouvement V2 Leap que ces fonctionnalités, il a également pris en charge les casques VR comme l'Oculus VR et donne également accès aux données d'image réelles du mouvement LEAP. Malheureusement, ces fonctionnalités ne sont pas encore disponibles dans l'API JavaScript, mais j'espère que nous les verrons bientôt avant que l'API ne quitte Beta!

Autres ressources

Si vous cherchez plus de détails sur le début de ces API, le meilleur endroit où aller est le site de développeur de mouvement Leap:

  • JavaScript SDK Documentation
  • Une galerie de démos JavaScript de Leap Motion, consultez le code source pour un bon aperçu!

Les questions fréquemment posées sur le suivi squelettique avec JavaScript et Leap Motion

Comment le mouvement LEAP fonctionne-t-il avec JavaScript pour le suivi squelettique?

LEAP Le mouvement est un dispositif matériel qui capture le mouvement de la main humaine dans l'espace 3D. Il fonctionne avec JavaScript via la bibliothèque LEAPJS, qui fournit une API simple et intuitive pour accéder aux données de mouvement Leap. Cela permet aux développeurs de créer des applications interactives qui peuvent suivre et répondre aux mouvements de la main. La bibliothèque LEAPJS fournit des méthodes de suivi de la position, de la vitesse et de l'orientation des mains, des doigts et des outils, ainsi que pour détecter les gestes tels que les balayages, les cercles et les robinets.

Quelles sont les exigences système pour les exigences du système pour En utilisant le mouvement de Leap avec JavaScript?

Pour utiliser le mouvement Leap avec JavaScript, vous avez besoin d'un ordinateur avec un port USB 2.0, exécutant Windows 7 ou plus tard, Mac OS X 10.7 ou version ultérieure, ou Linux. Vous avez également besoin du logiciel Leap Motion, qui comprend la bibliothèque LeapJS. Le logiciel peut être téléchargé à partir du site Web de Leap Motion. De plus, vous avez besoin d'un navigateur Web qui prend en charge WebGL, tels que Chrome, Firefox ou Safari.

Comment puis-je installer et configurer le mouvement de LEAP pour une utilisation avec JavaScript?

Configurez le mouvement LEAP pour une utilisation avec JavaScript, téléchargez d'abord et installez le logiciel Leap Motion à partir du site Web Leap Motion. Ensuite, connectez le contrôleur de mouvement LEAP à votre ordinateur avec un câble USB. Le logiciel Leap Motion détectera automatiquement le contrôleur et commencera le suivi. Pour utiliser Leap Motion avec JavaScript, incluez la bibliothèque LEAPJS dans votre fichier HTML avec une balise de script.

Quel type d'applications peut être développée à l'aide de Leap Motion et JavaScrip être utilisé pour développer un large éventail d'applications, des jeux et des expériences de réalité virtuelle aux outils éducatifs et aux visualisations scientifiques. La possibilité de suivre les mouvements de la main dans l'espace 3D ouvre de nouvelles possibilités d'interaction des utilisateurs, permettant aux utilisateurs de contrôler les applications de manière plus naturelle et intuitive.

Dans quelle mesure le suivi squelettique est-il précis fournis par Leap Motion et JavaScript?

le mouvement LEAP fournit un suivi squelettique très précis, avec une précision allant jusqu'à 0,01 mm. Il peut suivre la position et l'orientation de chaque doigt et de la paume de la main, ainsi que de détecter des gestes tels que des balayages, des cercles et des robinets. La bibliothèque LEAPJS fournit une API simple et intuitive pour accéder à ces données, ce qui facilite l'intégration dans les applications JavaScript.

Puis-je utiliser Leap Motion avec d'autres langages de programmation en plus de JavaScript?

Oui, le mouvement LEAP fournit des SDK pour plusieurs langages de programmation, y compris C, C #, Java, Python et JavaScript. Cela en fait un outil polyvalent pour les développeurs, ce qui leur permet de choisir la langue qui convient le mieux à leurs besoins et compétences.

Quelles sont les limites de l'utilisation du mouvement de Leap avec JavaScript?

Alors que le mouvement de saut et JavaScript fournit un outil puissant pour développer des applications interactives, il y a certaines limites à connaître. Le contrôleur de mouvement LEAP nécessite une ligne de vue claire aux mains et peut être affectée par une lumière vive ou des surfaces réfléchissantes. De plus, bien que la bibliothèque LEAPJS fournit une API simple et intuitive, elle peut ne pas offrir le même niveau de contrôle et de flexibilité que les SDK pour les autres langues.

Comment puis-je résoudre les problèmes avec le mouvement de Leap et JavaScript?

Si vous rencontrez des problèmes avec le mouvement Leap et JavaScript, vous pouvez prendre plusieurs étapes. Tout d'abord, assurez-vous que le contrôleur de mouvement LEAP est connecté et que le logiciel de mouvement LEAP est en cours d'exécution. Si le contrôleur n'est pas détecté, essayez de le débrancher et de le remuer. Si vous rencontrez des problèmes avec la bibliothèque LeapJS, assurez-vous d'utiliser un navigateur Web compatible et de vérifier la console JavaScript pour les erreurs.

Puis-je utiliser Leap Motion avec JavaScript sur les appareils mobiles?

Actuellement, Leap Motion ne prend pas en charge les appareils mobiles. Le contrôleur de mouvement LEAP nécessite une connexion USB, qui n'est généralement pas disponible sur les appareils mobiles. Cependant, le mouvement Leap se développe et améliore continuellement sa technologie, ce qui peut changer à l'avenir.

où puis-je trouver plus de ressources et de tutoriels sur l'utilisation du mouvement Leap avec JavaScript?

Il y en a beaucoup Ressources disponibles en ligne pour apprendre à utiliser Leap Motion avec JavaScript. Le site Web de Leap Motion fournit une mine d'informations, notamment un guide de développeur, une documentation API et un forum communautaire. De plus, il existe de nombreux tutoriels et exemples disponibles sur des sites comme Github et Stack Overflow.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal