Allgemeiner Typ
Alle JSON-Daten verwenden diese Typen einheitlich sowohl in der WebSocket- als auch in der HTTP-Schnittstelle.
vec3
Dreidimensionaler Vektor. Dient zur Darstellung von Position (Meter), Geschwindigkeit (m/s), Kraft (N) sowie des Skalierungsfaktors.
{ "x": 0.0, "y": 0.0, "z": 0.0 }
Quaternion
Die Quaternion-Einheit, die die Drehung darstellt. In der internen Darstellung des Dienstes,w An erster Stelle, aber in JSON sind alle vier Komponenten benannte Schlüssel, sodass die Reihenfolge keine Rolle spielt.
{ "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 }
Identitätsquaternionen (w=1, x=y=z=0) bedeutet „ohne Drehung“.
Winkel3
Gelenkwinkel,Einheit: Grad(nicht Radiant). Dient zur Angabe der Winkelpositionen und Winkelgeschwindigkeiten der drei Gelenke: Inverse3 .
{ "a0": 0.0, "a1": 0.0, "a2": 0.0 }
umwandeln
Eine Kombination aus Position, Drehung und Skalierung. Wird für die Platzierung von Mount-Transformationen, Arbeitsbereichstransformationen und 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 }
}
Die identische Transformation(siehe oben) nimmt keine Änderungen vor: Position 0, keine Drehung, Skalierung 1.
mount Befehlsformat und Snapshot-Formatdurch configure.mount Senden Beim „mount“ muss die Transformation in "transform" In der Taste:{ "mount": { "transform": { … } } }。
Aus dem Geräte-SnapshotLesen Beim „mount“ ist die Struktur flach:
{ "mount": { "position": …, "rotation": …, "scale": … } }。
Diese Asymmetrie ist beabsichtigt, siehe Einbinden und Arbeitsbereiche。