跳到主要内容

通用类型

所有 JSON 负载在 WebSocket 和 HTTP 接口中统一使用这些类型。

vec3​

三维向量。用于表示位置(米)、速度(m/s)、力(N)以及缩放系数。

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

quaternion​

表示旋转的单位四元数。在服务的内部表示中,w 排在首位,但在 JSON 中,四个分量均为具名键,因此顺序无关紧要。

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

恒等四元数(w=1, x=y=z=0)表示“无旋转”。

angles3​

关节角度,单位为度(而非弧度)。用于表示 Inverse3 三个关节的角位置和角速度。

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

transform​

位置、旋转和缩放的组合。用于挂载变换、工作区变换以及 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" 键中:{ "mount": { "transform": { … } } }。 从设备快照读取 mount 时,其结构是扁平的: { "mount": { "position": …, "rotation": …, "scale": … } }。 这种不对称是有意设计的,参见 挂载与工作区。