Zum Hauptinhalt springen

Gemeinsame Typen

Über die Schnittstellen von WebSocket und HTTP hinweg verwenden alle JSON-Nutzdaten durchgehend diese Typen.

vec3​

Es handelt sich um dreidimensionale Vektoren. Sie werden für Position (Meter), Geschwindigkeit (m/s), Kraft (N) und den Skalierungsfaktor verwendet.

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

Quaternion​

Ein Quaternion, das eine Drehung angibt. In der internen Darstellung des Dienstes gilt: w das war der AnfangEs kommt zwar vor, aber da in JSON alle vier Komponenten benannte Schlüssel sind, spielt die Reihenfolge keine Rolle.

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

Identitätsquaternion (w=1, x=y=z=0) bedeutet „ohne Drehung“.

Winkel3​

Es handelt sich um Gelenkwinkel (in Grad, nicht inRadiant). Sie werden für die Winkelpositionen und Winkelgeschwindigkeiten der drei Gelenke von „Inverse3 “ verwendet.

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

umwandeln​

Eine Kombination aus Position, Drehung und Skalierung. Wird für die Transformation von Halterungen, die Transformation des Arbeitsbereichs und die Platzierung von SDF-Effekten verwendet.

{
"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 }
}

Selbst wenn man die Identitätstransformation(wie oben gezeigt) anwendet, ändert sich nichts. Die Position ist Null, es gibt keine Drehung und die Skalierung beträgt eins (1).

Anmerkung
mount Unterschiede zwischen den Befehlen und den Snapshot-Formaten

configure.mount mit „mount“SendenIn diesem Fall ist „transform“ "transform" Wird mit einem Schlüssel umschlossen: { "mount": { "transform": { … } } }。 Aus dem Snapshot des Geräts mit „mount“EinlesenIn diesem Fall ist das Format flach: { "mount": { "position": …, "rotation": …, "scale": … } }。 Diese Asymmetrie ist konstruktionsbedingt. Weitere Informationen finden Sie unter Halterung und Arbeitsbereich Siehe dazu.