VRED Professional はカスタム Python モジュール(スクリプト プラグイン)をサポートします。次回の VRED の起動時にこれらの(スクリプト プラグインを自動的にロードするには、特定の場所にコピーする必要があります(「 スクリプト プラグインをロードする 」を参照)。この後にロードされたすべてのスクリプト プラグインは、[スクリプト]メニューに表示されます。
スクリプト プラグインは、VRED の「メイン」コンテキストから独立するように作成されていて、スクリプト エディタ、ターミナル、またはスクリプトの基本設定で実行されるすべての Python コード、または VPB とともにロードされたスクリプトが、このプラグインで実行されます。スクリプト プラグインは、「メイン」コンテキストとは異なり、新しいシーンの作成の影響を受けません。フラッシュされて、既定の状態にリセットされます。
ターミナルまたはスクリプト エディタで実行される Python コマンドは、プラグインに影響を与えることも、互いに干渉することもありません。
スクリプト プラグインを更新する方法
メモリ内で実行されているコードは更新できないため、スクリプト プラグインを更新するには、[編集] > [スクリプト プラグインを再ロード]を使用して、開いているプラグイン ウィンドウをすべて閉じます。プラグインを編集し、プラグインのウィンドウを閉じてから、[編集] > [スクリプト プラグインを再ロード]を実行してプラグインを更新します。
ロード解除したプラグインで何らかの作業を行う必要がある場合は、次の新しいコールバック関数を試してください。
このサンプルは QtQuickStreaming.py に含まれています。
def onDestroyVREDScriptPlugin():
"""
onDestroyVREDScriptPlugin() is called before this plugin is destroyed.
In this plugin we want to stop all processes.
"""
streamingPlugin.deleteAllProcesses()
スクリプト プラグインから VREDPluginWidget
、VREDMainWindow
、vrMainWindow
にアクセスできます。これらは、スクリプト プラグインをロードまたは再ロードするときに、各プラグインの globals にコピーされます。
VRED には、[スクリプト]メニューに表示されている、さまざまなスクリプト プラグインが付属しています。
DragAndDropExample (MIME データ アクセス): オートデスクのスクリプト インタフェースはドラッグ アンド ドロップ機能をサポートしており、シーングラフ、マテリアル エディタ、およびその他の分離されたモジュールからドロップを受け取るスクリプトを実行できます。この機能は主に、独自のスクリプト プラグインを作成する上級ユーザ向けに設計されており、ドラッグ アンド ドロップを使用して VRED の要素をスクリプトに簡単に統合できます。
公開された一連の関数を使用して、ドロップ内のバイナリ MIME データをデコードし、スクリプトが直接処理できるタイプのインスタンス(たとえば、vrd オブジェクトや qt オブジェクト)に変換します。また、VRED で使用されるさまざまな MIME タイプの識別子も公開されています。
この動作を確認するには、付属のサンプル スクリプト DragAndDropExample を使用します。
サンプル スクリプト プラグイン ダイアログ ボックスが表示されたら、そこにマテリアル、シーン ノード、カメラなどをドラッグします。サンプル スクリプト プラグイン ダイアログ ボックスに何かをドラッグすると、その値がターミナルに表示されます。サポートされている関数と MIME タイプについては、付属のドキュメントを参照してください。
QtQuickStreaming: WebGL ストリーミングが有効な場合に、Qt Quick アプリケーションを起動および停止するのに役立つ UI を作成します。この UI を使用して Qt Quick アプリケーションの GUI を Web ブラウザにストリーミングし、メディア エディタ内の Web エンジンまたはシーンプレート エディタ内の Web フロントプレートに Web ページを表示します。詳細については、「 QtQuickStreaming を使用する 」を参照してください。
このアプリケーションは、ローカル マシン上で、VRED の子プロセスとしてバックグラウンドで実行されます。
VRFlashlightModule: VR メニューに[フラッシュライト]ツールを追加します。フラッシュライトの表示/非表示を切り替える場合に使用します。詳細については、Python のドキュメント「 VR でフラッシュ ライトを表示する 」を参照してください。
VRGatherUsersModule: VR メニューに[ユーザを集める]ツールを追加します。このツールを使用して、コラボレーション セッション内のすべてのユーザを共通の場所にテレポートし、すべての参加者が同じビューで同じ内容を見ることができるようにします。詳細については、Python のドキュメント「 コラボレーション セッション内のすべてのユーザを収集する 」を参照してください。
VRHideAvatarsModule: VR メニューに[アバターを表示]ツールを追加します。アバターを表示または非表示する場合に使用します。詳細については、Python のドキュメント「 コラボレーション セッションでアバターを非表示にする 」を参照してください。
VRMeasureModule: VR メニューに[計測]ツールを追加します。VR 内の選択可能な 2 つの点の間の距離を計測する場合に使用します。詳細については、Python のドキュメント「 VR で距離を計測する 」を参照してください。
VRMenuSetupModule: [スクリプト]メニューに[VR]メニュー オプションを追加します。VR/MR を使用している場合に、ツールを追加したり、[VR]メニューからツールを削除する場合に使用します。詳細については、Python のドキュメント「 VR メニューの設定を許可する 」を参照してください。
SimpleExample: [SimpleExample]ダイアログ ボックスを開いて、その動作を確認します。
この例は、追加されたアクション ボタンを使用して独自のカスタム Qt ウィジェットを作成する場合に使用します。このスクリプト プラグインには、[新規シーン]、[シーンをロード]、および[スナップショットを作成]ボタンが含まれています。このスクリプト プラグイン サンプルをロードして[スクリプト]メニューに追加する方法については、「 スクリプト プラグインをロードする 」を参照してください。