常见类型
所有 JSON 有效载荷在 WebSocket 和 HTTP 接口中均一致地使用这些类型。
vec3
一个三维向量。用于表示位置(米)、速度(米/秒)、力(牛顿)和缩放因子。
{ "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": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
单位变换(如上所示)保持一切不变:零位移、 无旋转、单位缩放。
备注
命令与快照形状的对比 mount 当 发送 通过安装 configure.mount,该变换被封装在一个 "transform" 键: { "mount": { "transform": { … } } }. 当 阅读 从设备快照挂载后,它显示为平坦的: { "mount": { "position": …, "rotation": …, "scale": … } }. 这种不对称性是刻意设计的——参见 安装与工作区.
