Type commun
Toutes les données JSON utilisent ces types de manière cohérente, tant via l'interface WebSocket que via l'interface HTTP.
vec3
Il s'agit d'un vecteur à trois dimensions. Il est utilisé pour la position (en mètres), la vitesse (en m/s) et la force (en N), ainsi que pour le coefficient d'échelle.
{ "x": 0.0, "y": 0.0, "z": 0.0 }
quaternion
Il s'agit d'un quaternion, unité de mesure de la rotation. Dans la représentation interne du service, wc'est le premier Cependant, en JSON, les quatre éléments étant tous transmis sous forme de clés nommées, leur ordre n'a pas d'importance.
{ "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 }
Quaternion identique (w=1, x=y=z=0) signifie « pas de rotation ».
angles3
Les angles articulaires sont exprimés en degrés (°) et non en radians. Ils sont utilisés pour les positions angulaires et les vitesses angulaires des trois articulations d'Inverse3.
{ "a0": 0.0, "a1": 0.0, "a2": 0.0 }
transformer
Il s'agit d'une combinaison de position, de rotation et d'échelle. Elle est utilisée pour les transformations « mount », les transformations de l'espace de travail et le placement d'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 identique(illustrée ci-dessus) ne modifie aucune valeur : position 0, rotation nulle, échelle unitaire.
mount Comparaison entre le format de commande et le format d'instantanéconfigure.mountpour monter le TransmissionLors de cette opération, la valeur de conversion est
"transform" Enveloppé dans : { "mount": { "transform": { … } } }.
Monter à partir d'un instantané de périphérique À lire Le temps est représenté sous forme de structure plane :
{ "mount": { "position": …, "rotation": …, "scale": … } }.
Cette asymétrie est le fruit d'une conception délibérée. Montage et espace de travailVeuillez vous reporter à [...].