スクリプト プラグインを使用する

VRED Professional はカスタム Python モジュール(スクリプト プラグイン)をサポートします。次回の VRED の起動時にこれらの(スクリプト プラグインを自動的にロードするには、特定の場所にコピーする必要があります(「 スクリプト プラグインをロードする 」を参照)。この後にロードされたすべてのスクリプト プラグインは、[スクリプト]メニューに表示されます。

[スクリプト]メニュー

スクリプト プラグインの処理方法

スクリプト プラグインは、VRED の「メイン」コンテキストから独立するように作成されていて、スクリプト エディタ、ターミナル、またはスクリプトの基本設定で実行されるすべての Python コード、または VPB とともにロードされたスクリプトが、このプラグインで実行されます。スクリプト プラグインは、「メイン」コンテキストとは異なり、新しいシーンの作成の影響を受けません。フラッシュされて、既定の状態にリセットされます。

ターミナルまたはスクリプト エディタで実行される Python コマンドは、プラグインに影響を与えることも、互いに干渉することもありません。

スクリプト プラグインをロードする

SimpleExample またはユーザ独自のスクリプト プラグインを[スクリプト]メニューに追加するには、次の手順を実行します。

旧バージョンの VRED を実行している場合*は、[スクリプト]メニューが表示されない可能性があるため、メニュー バーに[スクリプト]メニューを追加する必要があります。続行する前に、[スクリプト]メニューを作成する必要があります。この操作を行う手順については、「 *[スクリプト]メニューを作成する方法 」を参照してください。

[スクリプト]メニューを作成しても、スクリプトを ScriptPlugins フォルダにロードして VRED を再起動していない限り、メニュー バーに表示されないことに注意してください。ここでは、スクリプト プラグインをロードする方法について説明します。

Windows の場合

  1. Windows エクスプローラーで ScriptPlugins フォルダを作成したら、次の場所に移動します。

    C:\ProgramData\Autodesk\VREDPro-<internalVersion>\examples\plugins

  2. SimpleExample フォルダをコピーして、ScriptPlugins フォルダに貼り付けます。

    C:\Users\<username>\Documents\Autodesk\VRED-<internalVersion>\ScriptPlugins\

  3. 作業を保存し、閉じてから、VRED を再起動します。これで[スクリプト]メニューがメニュー バーに表示されます。このメニューを選択すると、SimpleExample という例がリストされます。

Mac の場合

  1. ScriptPlugins フォルダを作成したら、Finder ウィンドウで、次の場所に移動します。

    /Users/Shared/Autodesk/VRED-<internalVersion>/examples/plugins/SimpleExample

  2. SimpleExample フォルダをコピーして、ScriptPlugins フォルダ内に貼り付けます。

    C:/Users/<user>/Documents/Autodesk/VRED-<internalVersion>/ScriptPlugins/

  3. 作業を保存し、閉じてから、VRED を再起動します。これで[スクリプト]メニューがメニュー バーに表示されます。このメニューを選択すると、SimpleExample という例がリストされます。

スクリプト プラグインを更新する方法

メモリ内で実行されているコードは更新できないため、スクリプト プラグインを更新するには、[編集] > [スクリプト プラグインを再ロード]を使用して、開いているプラグイン ウィンドウをすべて閉じます。プラグインを編集し、プラグインのウィンドウを閉じてから、[編集] > [スクリプト プラグインを再ロード]を実行してプラグインを更新します。

ロード解除したプラグインで何らかの作業を行う必要がある場合は、次の新しいコールバック関数を試してください。

このサンプルは QtQuickStreaming.py に含まれています。

def onDestroyVREDScriptPlugin():
    """
    onDestroyVREDScriptPlugin() is called before this plugin is destroyed.
    In this plugin we want to stop all processes.
    """
    streamingPlugin.deleteAllProcesses()

スクリプト プラグインから VREDPluginWidgetVREDMainWindowvrMainWindow にアクセスできます。これらは、スクリプト プラグインをロードまたは再ロードするときに、各プラグインの globals にコピーされます。

スクリプト プラグイン

VRED には、[スクリプト]メニューに表示されている、さまざまなスクリプト プラグインが付属しています。