常见类型
所有 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 }
}
单位变换(如上所示)不会改变任何内容:位置为零, 无旋转,缩放比例为1。
命令与快照形状的对比
mount当 发送 通过安装 configure.mount,该变换被封装在一个
"transform" 键: { "mount": { "transform": { … } } }.
当 阅读 从设备快照挂载后,它显示为平坦的:
{ "mount": { "position": …, "rotation": …, "scale": … } }.
这种不对称是刻意为之的——参见 安装与工作区.