Aller au contenu principal

Permutation de la base

La base permet d'aligner le système de coordonnées interne de Haply sur celui de votre application.

Repère par défaut de Haply​

Haply utilise un système de coordonnées direct:

HacheDirection
+XDroite
+YAvant
+ZHaut

Fonctionnement​

Une chaîne de permutation indique au service comment les axes de votre application correspondent à ceux deHaply. Une fois définie, chaque valeur renvoyée par le service (positions, vitesses, forces, orientations) est exprimée dans votre système de référence, et chaque valeur que vous envoyez est interprétée dans votre système de référence. La conversion est automatique et bidirectionnelle.

La chaîne est une permutation de X, Y, Z, éventuellement précédée de + ou - pour inverser un axe.

Exemples​

PermutationSignificationUtilisation typique
XYZIdentité — aucune réaffectationApplications natives Haply
XZYÉchange de Y et Z → votre +Y est vers le hautMoteurs avec le Y vers le haut
X-YZInversion de Y → Z vers le haut, système gaucherUnreal Engine
ZXYPermutation circulaire des trois axesRepère personnalisé

Interprétation​

"YZX" signifie :

  • Votre axe X = l'axe Y de Haply (avant)
  • Votre axe Y correspond à l'axe Z de Haply (en haut)
  • Votre axe Z = l'axe X de Haply (à droite)

Définir les bases​

{
"session": {
"configure": {
"basis": { "permutation": "XZY" }
}
}
}

La base est persistante: définissez-la une seule fois, dans le premier message, et elle reste active jusqu'à ce qu'elle soit modifiée ou jusqu'à la fin de la session.

Migration depuis session.set_basis

La convention de signe des axes a changé par rapport à l'ancienne session.set_basis et session.configure.basis. Une permutation qui fonctionnait avec l'ancienne commande peut entraîner une transformation inverse avec la nouvelle. Inversez les signes des axes si nécessaire (par exemple, X-ZY devient XZ-Y). Voir le Guide de migration 3.5 pour plus d'informations.