基底の順列
基底は、Haply の内部座標系とお使いのアプリケーションの座標系の間で変換を行います。
Haply のデフォルトフレーム
Haply は右手系の座標系を使用します:
| 軸 | 方向 |
|---|---|
| +X | 右 |
| +Y | 前方 |
| +Z | 上 |
仕組み
順列文字列は、お使いのアプリケーションの軸が Haply の軸にどのように対応するかをサービスに伝えます。設定後は、サービスが返すすべての値(位置、速度、 力、向き)はお使いの基底で表現され、送信するすべての値も お使いの基底として解釈されます。変換は自動的かつ双方向に行われます。
文字列は X、Y、Z の順列であり、軸を反転させる場合は必要に応じて + または
- を前に付けることができます。
例
| 順列 | 意味 | 一般的な用途 |
|---|---|---|
XYZ | 恒等変換 — 再マッピングなし | Haply ネイティブのアプリ |
XZY | Y と Z を入れ替え → お使いの +Y が上向き | Y 軸が上のエンジン |
X-YZ | Y を反転 → 左手系で Z 軸が上 | Unreal Engine |
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 移行ガイド を参照してください。