QtQuickStreaming を使用する

QtQuickStreaming のビデオ キャプション: 新しく構築されたスクリプト モジュールを使用して、QT コンテンツを VRED シーンに直接ストリーミングします。[スクリプト] > [QtQuickStreaming]に移動します。ここでは、QT コンテンツを含む .exe ファイルを使用して、ストリームを開始できます。ここで示すダッシュボードのサンプルのように、ストリームにリンクできる Web エンジンを作成する必要があります。QtQuickStreaming ウィンドウでは、メディア エディタを使用して、複数のストリームを追加し、シーンの他の部分に割り当てることができます。QT ダッシュボードのコンテンツと QT カレンダーが同時に実行されていることを確認できます。複数のストリームの設定を保存するには、QtQuickStreaming ウィンドウで[ファイル] > [保存]を選択して[スクリプト]メニューに保存し、QtQuickStreaming ウィンドウで[ファイル] > [ロード]を選択して再びロードします。

別の方法として、QT Design Studio 外から Web ストリームを直接起動する方法などがあります。そのため、特定のポートにストリーミングするようにソフトウェアに指示するコマンドを実行して、QT Design Studio で新しい実行設定を作成する必要があります。ここでは、ポート 8990 を使用しています。このストリームはバックグラウンドで実行されているため、メディア エディタの Web エンジンで適切な URL とポート番号を直接使用することで、VRED 内で使用できます。新しいスクリプトでは、VRED 内のすべての QT コンテンツを実行して設定を保存およびロードできるため、設計プロセスにかかる時間を大幅に節約できます。


概要

Qt に、Qt Quick アプリケーションの GUI を Web ブラウザにストリーミングするための Qt Quick WebGL ストリーミング機能が導入されました。メディア エディタの Web エンジン、またはシーンプレート エディタの Web フロントプレートに Web ページを表示します。アプリケーションのポートに接続して、Qt Quick GUI をテクスチャにストリーミングします。これは、HTML5 GUI を使用して VRED で既に実行されている機能と非常に似ています。

新しいスクリプト プラグイン([スクリプト] > [QtQuickStreaming])は、WebGL ストリーミングが有効な場合に Qt Quick アプリケーションを起動および停止するのに便利な UI を作成します。

注:

Qt Quick アプリケーションは、ローカル マシン上で VRED の子プロセスとして、バックグラウンドで実行されます。

Qt Quick WebGL ストリーミングの詳細については、https://blog.qt.io/blog/2018/11/23/qt-quick-webgl-release-512/ にアクセスしてください。

VRED の任意のジオメトリまたはフロントプレートでコンテンツを再生する Qt Quick アプリケーションをストリーミングするには、QtQuickStreaming を使用します。

QtQuickStreaming

注:

Qt Quick を使用しない標準の Qt アプリケーションは、サポートされていません。

[QtQuickStreaming]ダイアログについて

アイコン バー

次の操作を行うには、アイコン バーにあるツールを使用します。

アプリケーション リスト

[QtQuickStreaming]ダイアログのこのセクションには、Qt Quick アプリケーションの実行可能ファイルの名前、および WebGL ストリーミングに使用されるポートが表示されます。ポート番号を変更できるのは、プロセスが実行されていないとき(プロセスを実行する前)のみです。

すべての実行可能ファイルの横に、次のボタンが配置されています。

ファイル

[ファイル]メニューには次の 2 つのオプションが含まれています。

自動起動

このチェックボックスは、[ファイル]メニューの真下にあります。既定ではオフになっています。

コマンドラインを使用してプロセスを開始する

コマンドライン ツールで次のように入力してプロセスを手動で起動します。

$ ./your-qt-application -platform webgl:port=8998

または、プロジェクトを作成するときに VPB にスクリプトを埋め込みます。

注:

アプリケーションには、VRED が実行されているマシンからアクセスできる必要があります。

Python スクリプトを使用してプロセスを開始する

Qt Quick アプリケーションのコンテンツを表示する Web エンジンが含まれているスクリプト ソリューションを実行して、VPB のロード中にプロセスを起動する場合は、次の操作を実行します。

次に、Qt Quick アプリケーション calendar.exe を起動し、ポート 9000 で WebGL ストリーミングを行うサンプル スクリプトを示します。

重要:

Qt は、使用中の既存ポートでのストリーミングをサポートしません。 新しい Qt Quick アプリケーションをダイアログのアプリケーション リストに追加すると、VRED は番号 9000 以降のポートの中から未使用のポートを自動的に検索します。

from PySide2.QtCore import QProcess

process = QProcess()
cmd = "\"C:/qtquick_examples/bin/calendar.exe\" -platform webgl:port=9000"
process.start(cmd)

ストリーミングされた Qt のコンテンツを再生する

VRED で Qt のストリーミング コンテンツをロードして再生するには、平面などのジオメトリを 1 つ以上使用し、メディア エディタおよびマテリアル エディタを利用する必要があります。

  1. 平面を作成します。

    1. シーングラフ内のルート ノードを右クリックして、[作成] > [ジオメトリを作成] > [平面] を選択します。

    2. [平面を作成]ダイアログでサイズと解像度を設定し、[作成]をクリックして Qt アプリケーションを投影する平面を作成します。

    3. [トランスフォーム]トランスフォームをクリックして、平面を配置します。

  2. Qt アプリケーションをロードし、ストリーミングをバックグラウンドで開始します。

    1. [スクリプト] > [QtQuickStreaming]をクリックして、[QtQuickStreaming]ダイアログを開きます。

    2. [+]をクリックして Qt 実行可能ファイルを検索および選択してから、[開く]をクリックします。実行可能ファイルがバックグラウンドで開きます。

    3. [QtQuickStreaming]ダイアログに Qt アプリケーション、およびストリーミング先のポートが表示されます。

  3. Web エンジンを作成します。

    1. [シーン] > [メディア エディタ]を選択し、[+]をクリックします(Web エンジン)。

    2. 解像度の幅と高さを設定します。

  4. ストリーミングの URL を設定します。

    1. [QtQuickStreaming]ダイアログの [URL]ボタンをクリックして、ポートをクリップボードにコピーします。

    2. メディア エディタの[URL]フィールドを右クリックし、[貼り付け]を選択して、ポートの URL を Web エンジンに追加します。

  5. 平面の色とマッピングを設定します。

    1. [マテリアル][マテリアル]アイコンをクリックしてマテリアル エディタを開き、平面のマテリアルをメディア エディタおよび[マテリアル]フィールドにドラッグします。

    2. マテリアル エディタの[拡散テクスチャ]セクションで、[マッピング タイプ]を UV に変更します。

QtQuickStreaming の設定を保存する

シーンを保存すると、シーンに表示する際に実行する必要がある Qt Quick アプリケーションのリストに、保存済みの VPB が含まれなくなります。この VPB は QtQuickStreaming プラグインに設定ファイル(.cfg)として個別に保存する必要があります。

  1. VRED のメイン メニュー バーで、[ファイル] > [名前を付けて保存]を選択し、[保存]をクリックしてシーン(VPB)を保存します。

  2. VPB と一緒に Qt Quick アプリケーションの設定を保存します。[QtQuickStreaming]ダイアログで[ファイル] > [保存]を選択します。

  3. 設定ファイルには、VPB と同じ名前を使用します(C:/myfolder/myscene.vpbC:/myfolder/myscene.cfg など)。

  4. [保存]をクリックして、設定ファイルを保存します。

Qt アプリケーションを使用する保存済みのシーンを再び開く

VPB をロードするときに、VRED QtQuick Streaming プラグインは VPB と同じ場所で、VPB と同じファイル名の設定ファイルを検索して、自動的にロードします。設定ファイルが見つからない場合は、手動でロードする必要があります。

  1. [スクリプト] > [QtQuickStreaming]を選択してダイアログを開き、[ファイル] > [ロード]を選択します。

  2. 必要な設定ファイルをダブルクリックして、ロードします。

  3. [QtQuickStreaming]ダイアログ内の[再生]ボタンをクリックします。

  4. メニュー バーから[シーン] > [メディア エディタ]を選択します。

  5. メディア エディタで Web エンジンをクリックし、URL の横にある[再ロード] Web ページを再ロード ボタンをクリックします。すべての Web エンジンに対してこの操作を実行します。