Web エンジン用のサービスの分離

この機能は、Web エンジンにアクセスするための分離されたサービスを提供し、Python で公開することにより、ユーザが VRED で Web エンジンを自動的に再ロードできるようにします。

これは、外部アプリケーションが VRED に UI をストリーミングしている場合、UI が変更されている場合、および UI を再ロードする必要がある場合に必要になります。

vrWebEngineServicevrdWebEngine、および vrdUiEngine を使用します。シーンプレートの Web エンジンがシーンプレートの名前を共有するようになったため、新しいサービスで検索できるようになりました。Web コンテンツを含むシーンプレートにもコマンドを送信します。

Web インタフェースを介して Python API を使用する

このインタフェースは、Python または Web インタフェースを介して使用できます。アクセスするには、JavaScript を使用します。関数の呼び出しは非同期で実行されます。次の例では、このような呼び出しが Web ページからどのように見えるのかを示します。すべてのパラメータと戻り値のタイプは、JavaScript タイプにマッピングされます。たとえば、QVector3DQMatrix4x4 は 3 個または 16 個の数値からなる配列にマッピングされます。

<script type="module">
  import {api} from '/api.js';

  // reacting on a signal
  api.vrClusterService.started.connect(() => {console.log('Started')});
  // calling a function
  api.vrClusterService.start();
  // changing the position of the camera
  api.vrNodeService.findNode("Perspective")
      .then((node) => node.setTranslation([10,20,30]));
</script>