基底の順列
基底は、Haply の内部座標系と、お使いのアプリケーションの座標系の間で変換を行います。
Haply のデフォルトフレーム
Haply は右手座標系を使用します:
| 軸 | 方向 |
|---|---|
| +X | 右 |
| +Y | 前方 |
| +Z | 上 |
仕組み
順列文字列は、お使いのアプリケーションの座標系がHaply の座標系にどのように対応するかをサービスに伝えます。設定後は、サービスが返すすべての値(位置、速度、 力、向き)はお使いの座標系で表現され、送信するすべての値も お使いの座標系として解釈されます。変換は自動的に、かつ双方向に行われます。
文字列は X、Y、Z の順列であり、軸を反転させる場合は必要に応じて + または
- を前に付けることができます。
例
| 順列 | 意味 | 一般的な用途 |
|---|---|---|
XYZ | 恒等変換 — 再マッピングなし | Haply ネイティブアプリ |
XZY | YとZを入れ替える → お使いの+Yが上向きになる | Y軸が上にあるエンジン |
X-YZ | Y を反転 → 左手座標系で Z 軸が上 | アンリアルエンジン |
ZXY | 3つの軸すべてを巡回する | カスタムフレーム |
解釈
"YZX" の意味は次のとおりです:
- お使いのX軸 =Haply のY(前方)
- お使いのY軸 =Haply のZ(上)
- お使いのZ軸 =Haply のX(右)
ベースの設定
- WebSocket
- HTTP
{
"session": {
"configure": {
"basis": { "permutation": "XZY" }
}
}
}
curl -X POST "http://localhost:10001/inverse3/0/config/basis?session=:0" \
-H "Content-Type: application/json" \
-d '{"permutation": "XZY"}'
ベースは永続的です。最初のメッセージで一度設定すると、変更されるかセッションが終了するまで有効なままです。
session.set_basis からの移行軸の符号規則は、従来の session.set_basis と
session.configure.basis の間で変更されました。古いコマンドでは正しく動作していた順列が、
新しいコマンドでは変換が逆になってしまう場合があります。必要に応じて軸の符号を反転させてください(例:X-ZY は XZ-Y となります)。
詳細は 3.5 移行ガイド を参照してください。