Aller au contenu principal

Types courants

Toutes les charges utiles JSON utilisent ces types de manière cohérente dans les interfaces WebSocket et HTTP.

vec3​

Un vecteur 3D. Utilisé pour les positions (en mètres), les vitesses (m/s), les forces (N) et les facteurs d'échelle.

{ "x": 0.0, "y": 0.0, "z": 0.0 }

quaternion​

Un quaternion unitaire représentant une rotation. w vient en premier dans la représentation interne du service, mais en JSON, les quatre composants sont des clés nommées ; leur ordre n'a donc aucune importance.

{ "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 }

Un quaternion identité (w=1, x=y=z=0) signifie « aucune rotation ».

angles3​

Angles d'articulation en degrés (et non en radians). Utilisés pour la position angulaire et la vitesse angulaire des trois articulations de Inverse3.

{ "a0": 0.0, "a1": 0.0, "a2": 0.0 }

transformer​

Une combinaison de position, de rotation et d'échelle. Utilisée pour les transformations de montage, les transformations de l'espace de travail et le placement des effets SDF.

{
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
"rotation": { "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}

La transformation d'identité (illustrée ci-dessus) n'apporte aucun changement : position nulle, aucune rotation, échelle unitaire.

remarque
Forme de la commande et forme de l'instantané pour mount

Lors de l'envoi d'un montage via configure.mount, la transformation est contenue dans une clé "transform" : { "mount": { "transform": { … } } }. Lors de la conférence Lorsqu'on le monte à partir d'un cliché pris avec un appareil photo, il apparaît à plat : { "mount": { "position": …, "rotation": …, "scale": … } }. Cette asymétrie est volontaire — voir Montage et espace de travail.