跳到主要内容

基底置换

基底用于在 Haply 的内部坐标系与你的应用坐标系之间进行映射。

Haply 默认坐标系​

Haply 使用右手坐标系:

轴方向
+X右
+Y前
+Z上

工作原理​

置换字符串告诉服务你的应用坐标轴如何映射到 Haply 的坐标轴。设置之后,服务返回的每个值(位置、速度、 力、朝向)都以你的基底表示,而你发送的每个值 都会按你的基底解释。转换是自动且双向的。

该字符串是 X、Y、Z 的置换,可选地以 + 或 - 作为前缀,用于对某个轴取反。

示例​

置换含义典型用途
XYZ恒等变换——不做重映射Haply 原生应用
XZY交换 Y 与 Z → 你的 +Y 朝上Y 轴朝上的引擎
X-YZ对 Y 取反 → 左手系、Z 轴朝上Unreal Engine
ZXY三个轴循环置换自定义坐标系

解释​

"YZX" 表示:

  • 你的 X 轴 = Haply 的 Y(前)
  • 你的 Y 轴 = Haply 的 Z(上)
  • 你的 Z 轴 = Haply 的 X(右)

设置基底​

{
"session": {
"configure": {
"basis": { "permutation": "XZY" }
}
}
}

基底是持久的——在第一条消息中设置一次,它即保持有效,直到被更改或会话结束为止。

从 session.set_basis 迁移

轴符号约定在旧版 session.set_basis 与 session.configure.basis 之间发生了变化。在旧命令下有效的置换,在新命令下可能会产生反向的变换。必要时请对轴符号取反(例如,X-ZY 变为 XZ-Y)。 详情请参阅 3.5 迁移指南。