跳至主要内容

通用类型

WebSocket 和 HTTP 接口中的所有 JSON 数据都统一使用这些类型。

vec3​

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

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

四元数​

表示旋转的四元数。在服务内部的表示中,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 }

转换​

位置、旋转和缩放的组合。用于放置挂载变换、工作区变换以及 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": … } }。 这种不对称性是刻意设计的,参见 挂载与工作区。