メインコンテンツへ移動

編集およびワークスペースの変換

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

座標処理チェーン​

エタプ役割それをどのように定義するか「Persistante」?
ベース軸の割り当てを変更します(例:Z軸を上方向 → Y軸を上方向)session.configure.basis — 詳細はこちら チュートリアル 08 (HTTPによるリモート設定)Oui
編集の変換装置の物理的な設置位置のずれ(アームの位置、回転、スケール)configure.mount ou configure.preset — 詳細はこちら チュートリアル 08 (HTTPによるリモート設定)Oui
ワークスペースの変革カメラまたはシーンのナビゲーションのドリフトcommands.set_transform — 詳細はこちら チュートリアル 09 (各サイクルごとにWebSocketによるリアルタイム配信)Oui(持続的)

編集の変換​

この設定では、デバイスの物理的な位置(アームのオフセット、 向き、スケール)が記述されます。これは一度だけ(またはユーザーが物理的な構成を変更した際)定義され、 実行時にはめったに更新されません。

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

自分で構成を計算するよりも、次のプリセットを選択してください:

プリセット原点の配置腕の向き
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 et preset 互いに排他的である

両方を同じメッセージに含めると曖昧になるため、サービスによって拒否されます。 どちらか一方を選んでください:un preset nommé(編集設定を自動的に決定するもの)または 変換 mount explicite。

注文とリアルタイムデータの不一致

あなたが 送信してください モンタージュを通じて、その変容を凝縮して表現してください: { "mount": { "transform": { … } } }. あなたが lisez スナップショットから作成したモンタージュですが、平坦化されています: { "mount": { "position": …, "rotation": …, "scale": … } }. これは意図的な仕様です:コマンドでは統一エンベロープが使用されます command_data ; スナップショットは 直接シリアル化される core::transform.

ワークスペースの変革​

ワークスペースの変換は、モンテージの上に適用される実行時の処理です。 その代表的な用途は、デバイスが物理的にその場に留まったまま、シーン内を移動すること(アプリケーションのビューに対するパン、回転、またはズーム)です。

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

  • この構成は、一度定義すればそのまま維持されるように設計されており、物理的な構成を記述する もので、更新頻度が低い場合に最適化されています。
  • ワークスペースの変換は、高頻度で出力されるように設計されています (例えば、カメラの移動中に1フレームごとに)。内部の処理パイプラインは、 この更新頻度に合わせて最適化されています。
{
"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 }
}
}
}
}]
}
スケール変更により、発生する力が変化しますが、多くの場合、それは望ましい方向への変化となります。

マウントやワークスペースのスケール変更は、カメラが再現する力に影響を与えるため、 浸透深度 接触力を計算するために用いられる。例えば、あるスケールでは 2x 浸透深度をほぼ半分に縮小し(仮想シーンはカメラの移動距離に比べて2倍の大きさとなる)、その結果得られる力はおよそ 半分の半分 …で感じられるものとは 1x. 逆に、ある尺度では 0.5x 力がおよそ2倍になる。

これは一般的に望ましい動作です。ハプティックシーンでズームアウトすると、接触の強さは自然に弱くなり(「距離が遠くなる」ため)、ズームインすると強くなります。もしこれが意図した動作ではない場合(たとえば、ユーザーがズームしても剛性を一定に保つ必要がある場合など)、力ゲインを逆比例してスケーリングすることで調整してください。

自動ドリフトには「ナビゲーション」モジュールを使用する

連続的な移動(バブルナビゲーション、速度制御によるドリフト)が必要な場合は、 以下の モジュールナビゲーション 手動で送信する代わりに set_transform 各ティックごとに:物理演算、ハプティックフィードバック、 および作業領域の境界設定を自動的に処理します。