本文へスキップ
バージョン: 3.5.x

マウントとワークスペースの変換

2つの変換によって、デバイスがアプリケーション空間に位置付けられます。この パイプラインを理解することで、適切なものを選択できるようになります。

パイプラインの調整

ステージ機能設定方法しつこい?
基礎軸を再マッピングします(例:Z軸が上 → Y軸が上)session.configure.basisはい
変換の適用デバイスの物理的な取り付け位置のずれ(アームの位置、回転、スケール)configure.mount または configure.presetはい
ワークスペースの変換カメラ/シーンのナビゲーションのズレcommands.set_transform または ナビゲーションモジュールはい(固定)

変換の適用

マウントは、デバイスが物理的に配置される位置(アームのオフセット、 向き、およびスケール)表します。これは一度設定される(またはユーザーが物理的な 配置を変更した際)もので、実行時にはほとんど更新されません。

プリセット(工場出荷時の設定)

マウントを自分で計算する代わりに、名前付きのプリセットを選択してください:

プリセット配置位置腕の向き
defaultsデバイスベース前(腕を前に)
arm_frontデバイスベース次へ
arm_front_centeredワークスペースセンター次へ
led_frontデバイスベースLEDが前方に向く
led_front_centeredワークスペースセンターLEDが前方に向く
custom取扱説明書 — ご自身で取り付けてください

プリセットを使用すると、マウント、基底、およびワークスペースの原点を一度に設定できます。

マウントを直接設定する

{
"inverse3": [{
"device_id": "049D",
"configure": {
"mount": {
"transform": {
"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 }
}
}
}
}]
}
mount そして preset 互いに排他的である

両方を同じメッセージで送信すると曖昧になるため、サービスはこれを拒否します。 どちらか一方を選択してください:名前付き preset (マウントを自動的に設定する)か、明示的な mount 変換する。

コマンドとスナップショットの非対称性

いつ 送信 マウントし、トランスフォームをラップします: { "mount": { "transform": { … } } }. いつ 読書 スナップショットからのマウントですが、フラットです: { "mount": { "position": …, "rotation": …, "scale": … } }. これは仕様によるものです。コマンドは統一された command_data ラッパー; スナップショット シリアライズする core::transform 直接。

ワークスペースの変換

ワークスペース変換は、マウントの上に適用される実行時の変位です。 その代表的な用途はシーンナビゲーションであり、デバイスを物理的に動かさずに、 アプリケーションのビューをパン、回転、またはズームさせるものです。

マウント変換とワークスペース変換はどちらも永続的であり、サービスは ユーザーが最後に送信した値を記憶しています。両者の違いは、目的とパフォーマンスにあります:

  • マウントは、一度設定すればそのまま維持されるように設計されています。これは物理的な 構成を記述するものであり、更新頻度が低い場合に最適化されています。
  • ワークスペース変換は、高頻度(例えば、カメラの移動中は毎フレーム)でストリーミングされるように設計されており、 内部パイプラインはこの更新レートに合わせて最適化されています。
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_transform": {
"transform": {
"position": { "x": 1.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 }
}
}
}
}]
}
自動ドリフトにはナビゲーションモジュールを使用してください

連続的な移動(バブルナビゲーション、速度制御ドリフト)が必要な場合は、 以下の ナビゲーションモジュール 手動で ストリーミングする代わりに set_transform 毎フレームごとに――物理演算、ハプティック フィードバック、ワークスペースの境界設定を自動的に処理します。