Aller au contenu principal

Permutation de la base

La base fait correspondre le système de coordonnées interne de Haply à celui de votre application.

Repère par défaut de Haply​

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

AxeDirection
+XDroite
+YAvant
+ZHaut

Fonctionnement​

Une chaîne de permutation indique au service comment les axes de votre application correspondent à ceux de Haply. Une fois définie, chaque valeur renvoyée par le service (positions, vitesses, forces, orientations) est exprimée dans votre base, et chaque valeur que vous envoyez est interprétée dans votre base. 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 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 = l'axe Z de Haply (haut)
  • Votre axe Z = l'axe X de Haply (droite)

Définir la base​

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

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

Migration depuis session.set_basis

La convention de signe des axes a changé entre l'ancien session.set_basis et session.configure.basis. Une permutation qui fonctionnait avec l'ancienne commande peut produire une transformation inversée avec la nouvelle. Inversez les signes des axes au besoin (par exemple, X-ZY devient XZ-Y). Voir le guide de migration 3.5 pour plus de détails.