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