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 :
| Axe | Direction |
|---|---|
| +X | Droite |
| +Y | Avant |
| +Z | Haut |
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
| Permutation | Signification | Utilisation typique |
|---|---|---|
XYZ | Identité — aucune réaffectation | Applications natives Haply |
XZY | Échange de Y et Z → votre +Y est vers le haut | Moteurs avec Y vers le haut |
X-YZ | Inversion de Y → Z vers le haut, système gaucher | Unreal Engine |
ZXY | Permutation circulaire des trois axes | Repè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
- WebSocket
- HTTP
{
"session": {
"configure": {
"basis": { "permutation": "XZY" }
}
}
}
curl -X POST "http://localhost:10001/inverse3/0/config/basis?session=:0" \
-H "Content-Type: application/json" \
-d '{"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.
session.set_basisLa 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.