Types communs
Qu'il s'agisse de l'interface WebSocket ou HTTP, toutes les charges utiles JSON utilisent systématiquement ces types.
vec3
Il s'agit d'un vecteur à trois dimensions. Il est utilisé pour la position (en mètres), la vitesse (en m/s), la force (en N) et le coefficient d'échelle.
{ "x": 0.0, "y": 0.0, "z": 0.0 }
quaternion
Il s'agit d'un quaternion représentant une rotation. Dans la représentation interne du service, w C'est le premierMais comme, en JSON, les quatre éléments sont tous des clés nommées, leur ordre n'a pas d'importance.
{ "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 }
Quaternion identitaire (w=1, x=y=z=0) signifie « sans rotation ».
angles3
Il s'agit de l'angle d'une articulation (expriméen degréset non en radians). Ces valeurs sont utilisées pour définir la position angulaire et la vitesse angulaire des trois articulations deInverse3 .
{ "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 la transformation des montures, la transformation de l'espace de travail et le positionnement 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 }
}
Même en appliquant la transformation identique(celle indiquée ci-dessus), rien ne change. La position est nulle, il n'y a pas de rotation et l'échelle est unitaire (1).
mount Différences entre les commandes et les formats de snapshotsconfigure.mount pour monter leEnvoyerDans ce cas, la fonction `transform` est "transform" Entouré par des guillemets : { "mount": { "transform": { … } } }。
Monter à partir d'un instantané du périphériqueLireDans ce cas, le format devient plat : { "mount": { "position": …, "rotation": …, "scale": … } }。
Cette asymétrie est voulue par la conception. Pour plus de détails, Support et espace de travail Veuillez consulter [...].