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 を使用します。

Qt Quick を使用しない標準の Qt アプリケーションは、サポートされていません。
次の操作を行うには、アイコン バーにあるツールを使用します。
[追加]: リストに Qt アプリケーションの実行可能ファイルを追加します。「ストリーミングされた Qt のコンテンツを再生する」の手順 2 を参照してください。
[すべてのプロセスを開始]: [QtQuickStreaming]ダイアログ内のすべてのプロセスのストリーミングを開始します。
[すべてのプロセスを停止]: [QtQuickStreaming]ダイアログ内のすべてのプロセスのストリーミングを停止します。
VRED が終了すると、すべてのプロセスは自動的に停止します。VRED がクラッシュしても、クラッシュ レポートが表示されなかった場合に限り、起動したプロセスは引き続き実行されます。該当するプロセスはタスク マネージャで探してください。
[すべてのプロセスを削除]: [QtQuickStreaming]ダイアログ内のすべてのプロセスを削除します。
[QtQuickStreaming]ダイアログのこのセクションには、Qt Quick アプリケーションの実行可能ファイルの名前、および WebGL ストリーミングに使用されるポートが表示されます。ポート番号を変更できるのは、プロセスが実行されていないとき(プロセスを実行する前)のみです。
すべての実行可能ファイルの横に、次のボタンが配置されています。
[開始]: Qt プロセスを開始します。
[停止]: Qt プロセスを停止します。
[削除]: Qtプロセスを停止して削除します。
[URL]: ストリーミング Web サーバの Web URL をクリップボードにコピーします。この URL は Web エンジンで使用します。「ストリーミングされた Qt のコンテンツを再生する」の手順 4 を参照してください。
たとえば、メディア エディタで Web エンジンを作成するか、シーンプレート エディタでタイプが Web のフロントプレートを作成します。コピーした URL (ポート 9000 の場合は、http://localhost:9000 のようになる)を WebEngine に貼り付けて、[Enter]キーを押します。 成功すると、Web エンジンを使用して、VRED のフロントプレートまたはジオメトリに Qt Quick アプリケーションによるレンダリングが行われます。
[ファイル]メニューには次の 2 つのオプションが含まれています。
[ロード]: Qt Quick アプリケーションが含まれている保存済みのシーンを開いた後に、シーンに設定をロードする場合に使用します。詳細については、「Qt スクリプトを使用する保存済みのシーンを再び開く」を参照してください。
[保存]: シーンに対する Qt Quick アプリケーションの設定を保存する場合に使用します。詳細については、「QtQuickStreaming の設定を保存する」を参照してください。
このチェックボックスは、[ファイル]メニューの真下にあります。既定ではオフになっています。
[自動起動]がオフの場合、実行可能ファイルは起動しません。
[自動起動]がオンの場合は、Qt Quick プロセスは自動的に起動します。
設定ファイルを保存したときに実行されていたプロセスのみが、自動的に実行を開始します。
実行可能ファイルがまだ起動していない場合は、[再生]ボタンをクリックして起動します。
コマンドライン ツールで次のように入力してプロセスを手動で起動します。
$ ./your-qt-application -platform webgl:port=8998
または、プロジェクトを作成するときに VPB にスクリプトを埋め込みます。
アプリケーションには、VRED が実行されているマシンからアクセスできる必要があります。
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)
VRED で Qt のストリーミング コンテンツをロードして再生するには、平面などのジオメトリを 1 つ以上使用し、メディア エディタおよびマテリアル エディタを利用する必要があります。
平面を作成します。
シーングラフ内のルート ノードを右クリックして、[作成] > [ジオメトリを作成] > [平面] を選択します。
[平面を作成]ダイアログでサイズと解像度を設定し、[作成]をクリックして Qt アプリケーションを投影する平面を作成します。
[トランスフォーム]
をクリックして、平面を配置します。
Qt アプリケーションをロードし、ストリーミングをバックグラウンドで開始します。
[スクリプト] > [QtQuickStreaming]をクリックして、[QtQuickStreaming]ダイアログを開きます。
[+]をクリックして Qt 実行可能ファイルを検索および選択してから、[開く]をクリックします。実行可能ファイルがバックグラウンドで開きます。
[QtQuickStreaming]ダイアログに Qt アプリケーション、およびストリーミング先のポートが表示されます。
Web エンジンを作成します。
[シーン] > [メディア エディタ]を選択し、[+]をクリックします(Web エンジン)。
解像度の幅と高さを設定します。
ストリーミングの URL を設定します。
[QtQuickStreaming]ダイアログの [URL]ボタンをクリックして、ポートをクリップボードにコピーします。
メディア エディタの[URL]フィールドを右クリックし、[貼り付け]を選択して、ポートの URL を Web エンジンに追加します。
平面の色とマッピングを設定します。
[マテリアル]
をクリックしてマテリアル エディタを開き、平面のマテリアルをメディア エディタおよび[マテリアル]フィールドにドラッグします。
マテリアル エディタの[拡散テクスチャ]セクションで、[マッピング タイプ]を UV に変更します。
シーンを保存すると、シーンに表示する際に実行する必要がある Qt Quick アプリケーションのリストに、保存済みの VPB が含まれなくなります。この VPB は QtQuickStreaming プラグインに設定ファイル(.cfg)として個別に保存する必要があります。
VRED のメイン メニュー バーで、[ファイル] > [名前を付けて保存]を選択し、[保存]をクリックしてシーン(VPB)を保存します。
VPB と一緒に Qt Quick アプリケーションの設定を保存します。[QtQuickStreaming]ダイアログで[ファイル] > [保存]を選択します。
設定ファイルには、VPB と同じ名前を使用します(C:/myfolder/myscene.vpb や C:/myfolder/myscene.cfg など)。
[保存]をクリックして、設定ファイルを保存します。
VPB をロードするときに、VRED QtQuick Streaming プラグインは VPB と同じ場所で、VPB と同じファイル名の設定ファイルを検索して、自動的にロードします。設定ファイルが見つからない場合は、手動でロードする必要があります。
[スクリプト] > [QtQuickStreaming]を選択してダイアログを開き、[ファイル] > [ロード]を選択します。
必要な設定ファイルをダブルクリックして、ロードします。
[QtQuickStreaming]ダイアログ内の[再生]ボタンをクリックします。
メニュー バーから[シーン] > [メディア エディタ]を選択します。
メディア エディタで Web エンジンをクリックし、URL の横にある[再ロード]
ボタンをクリックします。すべての Web エンジンに対してこの操作を実行します。