メインコンテンツへスキップ

Haply 逆サービス

Inverse Service は、お使いのコンピュータ上でバックグラウンドプロセスとして動作し、Haply のタッチセンサーデバイスをアプリケーションにリアルタイムで接続します。デバイス検出、シリアル通信、セキュリティ監視、ステータスストリームの転送など、コードの下流で行われるすべての処理をこのサービスが担うため、開発者はユーザー体験の構築に専念することができます。

動作要件と互換性​

本サービスは、主要なデスクトッププラットフォームで動作し、WebSocket クライアントと JSON パーサーを備えたあらゆる言語から呼び出すことができます:

  • プラットフォーム: Windows 10 以降(MSVC)、Linux(.deb (パッケージ)、macOS
  • 言語:Python、JavaScript/TypeScript、C++、C#、Rust、Go、Java……およびWebSocketとJSONを用いた通信が可能なあらゆる言語

公式にサポートされている統合​

Haply 以下の製品について、公式の統合機能が提供されています:Haply Inverse Unity Package、Toia、Geomagic Freeform、およびNVIDIA Isaac Lab。

これ以外にも、プラットフォームやランタイムが WebSocket クライアントと JSON パーサーを提供していれば、本サービスを利用できます。当社はすでに、Unreal EngineやTouchDesigner、その他のリアルタイムおよびシミュレーション技術スタック上で本サービスを動作させています。お使いの環境で WebSocket を開くことができれば、Inverse デバイスを駆動することができます。

特定の言語に関する例については、公開されているサンプルリポジトリ(C++およびPython)をご覧ください。

通信インターフェース​

本サービスでは、2つの通信チャネルを提供しています:

通路ポート伝送方式用途
シミュレーション10001WebSocketリアルタイムコマンド/ステータスループ(メッセージ入力1件、ステータス出力1件)
事件10020WebSocket(読み取り専用)システムイベント:セキュリティ、バッテリー残量、接続、通信速度に関する警告
HTTP10001RESTステートレスな設定の照会、設定、セッション管理、およびデバイスチェック

すべてのペイロードは JSON 形式です。標準エンベロープ、ポート、およびコンテンツタイプの規則については、JSON 規約を参照してください。

利用シーン​

目標開始位置
触覚デバイスに力または位置の目標値を送信するリアルタイム制御
配置:座標系、マウント方式、プリセット、またはフィルター会話構成
ナビゲーションシーン(速度制御による移動)ナビゲーションモジュール
システムイベント(セキュリティ、バッテリー残量、接続)の監視事件と監視
例題を通じて学ぶチュートリアル

座標系​

Haply その内部座標系は右利き座標系であり、Z軸は上向きです(+Xは右、+Yは前方、+Zは上)。座標系の基点変換を1回行うことで、これをアプリケーションの座標系に再マッピングすることができます。設定が完了すると、すべての入力および出力に対して自動的に変換が行われます。

シーン内でデバイスの位置を特定するために、2種類の変換が使用されます:

座標処理の完全な手順については、「マウントとワークスペース」を参照してください。

サービスの実行​

Inverse Service は、2つのモードで動作します:

管理独立サービス​

Windows——サービスアプリを開く:を押す Win+R,入力 services.msc、「Haply Inverse Service」を見つけて、右クリック → 開始/停止/再起動。

Linux(systemd):

systemctl start haply-inverse-service.service
systemctl stop haply-inverse-service.service
systemctl restart haply-inverse-service.service
systemctl enable haply-inverse-service.service # auto-start on boot

API リファレンス(完全版)​

各エンドポイントおよびメッセージに関する完全な機械可読仕様: