メインコンテンツへスキップ

共通の型

WebSocket と HTTP のインターフェースにまたがって、すべての JSON ペイロードはこれらの型を一貫して使用します。

vec3​

3次元ベクトルです。位置(メートル)、速度(m/s)、力(N)、およびスケール係数に使用されます。

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

四元数​

回転を表す単位クォータニオンです。サービスの内部表現では w が最初となりますが、JSON では 4 つの要素すべてが名前付きキーであるため、順序は問題になりません。

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

恒等クォータニオン(w=1, x=y=z=0)は、「回転なし」を意味します。

angles3​

関節の角度(ラジアンではなく度単位)です。Inverse3 の3つの関節の角度位置と角速度に使用されます。

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

変換​

位置、回転、スケールを組み合わせたものです。マウントのトランスフォーム、ワークスペースのトランスフォーム、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 }
}

恒等変換(上記に示したもの)を適用しても、何も変わりません。位置はゼロ、回転はなし、スケールは単位(1)です。

注記
mount コマンドとスナップショットの形式の違い

configure.mount そこで、mount を送信その場合、transform は "transform" キーで囲まれます: { "mount": { "transform": { … } } }。 デバイスのスナップショットからマウントを読み取るその場合、形式はフラットになります: { "mount": { "position": …, "rotation": …, "scale": … } }。 この非対称性は設計上のものです。詳しくは マウントとワークスペース を参照してください。