スクリプトを操作する

VRED Professional はカスタム Python モジュールをサポートします(スクリプト プラグイン)。スクリプト エディタ([編集] > [スクリプト エディタ])はスクリプトとスクリプト プラグインの作成と編集に使用して、ターミナル([ビュー] > [ターミナル])はメッセージとコマンドの表示に使用します。Python スクリプトの詳細については、Python マニュアルを参照してください。

スクリプト エディタ

スクリプト エディタから使用できる機能は次のとおりです。

スクリプトを作成および編集する方法

スクリプトを作成および編集するには、[編集] > [スクリプト エディタ]にあるスクリプト エディタを使用します。

スクリプトを実行する方法

スクリプトを実行するには、メインの VRED ウィンドウまたはスクリプト エディタのいずれかを使用します。

メッセージを表示して Python コマンドを実行する方法

エラーや警告を表示したり Python コマンドを実行するには、[ターミナル]ウィンドウを使用します。

概要 - スクリプト化されたカスタム Python モジュール(スクリプト プラグイン)

VRED Professional はカスタム Python モジュールをサポートします(スクリプト プラグイン)。スクリプト プラグインが特定のロケーションにコピーされた場合(「スクリプト メニュー オプションを作成する方法」を参照)、それらは次回の VRED 起動時に自動的にロードされます。新しく作成された[スクリプト]メニューにリストされているすべてのスクリプト プラグインを検索します。

VRED にはサンプル モジュールが付属しています(「サンプル スクリプトのロード」を参照)。これにより十分にテストを行い、[スクリプト]メニュー オプションを作成できます。

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

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

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

プラグインを更新する方法

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

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

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

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

スクリプト プラグインは、VREDPluginWidgetVREDMainWindow、および vrMainWindow にアクセスします。これらのプラグインをロードまたは再ロードすると、各プラグイン全体にコピーされます。

スクリプト エディタでは、処理方法が若干異なります。[実行]をクリックするたびに、スクリプト エディタの前回の実行時に作成されたすべてのオブジェクトが破棄され、Python のガベージ コレクションによって解放されて、クリーンアップされます。

[実行]ボタンが配置されたスクリプト エディタ

エディタにロードされたスクリプトに含まれていないオブジェクトは削除されません。[実行]をクリックしても影響を受けないターミナルのコマンド ラインを使用して、オブジェクト インスタンスを作成することができます。

次に簡単なテストを示します。

class test(object):
    def __init__(self):
        print("create")

    def __del__(self):
        print("destroy")

t = test()

スクリプト エディタでこのテストを実行すると、[実行]をクリックしたときにクリーンアップされ、その後でスクリプトが再実行されます。

スクリプト メニュー オプションを作成する方法

まず実行する必要があるのは[スクリプト]メニューの作成です。 VRED に他のプラグインがロードされていない場合、これはメニュー バーに表示されません。スクリプト メニューをメニュー バーに追加するには、次の操作を行います。

Windows (スクリプト メニュー オプションの作成)

  1. Windows エクスプローラーで、次の場所に移動します。

    C:\Users\<user>\Documents\Autodesk\

  2. 右クリックして[新規作成] > [フォルダ]を選択します。

  3. フォルダに VRED-<internalVersion> という名前を付けます。たとえば、VRED v.13.1 を使用している場合は、VRED-13.1 というフォルダを作成します。

  4. VRED-<internalVersion> フォルダを開き、右クリックして、[新規作成] > [フォルダ]を選択します。

  5. フォルダに ScriptPlugins という名前を付けます。

Mac (スクリプト メニュー オプションの作成)

  1. Finder ウィンドウで、左側の列から[書類]を選択し、右側のスペースで Autodesk フォルダを選択します。

  2. メニュー バーから、[新規] > [新規フォルダ]を選択します。

  3. フォルダに VRED-<internalVersion> という名前を付けます。たとえば、VRED v.13.1 を使用している場合は、VRED-13.1 というフォルダを作成します。

  4. メニュー バーから、[新規] > [新規フォルダ]を選択します。これにより VRED-<internalVersion> フォルダ内にフォルダが作成されます。

  5. フォルダに ScriptPlugins という名前を付けます。

重要: [スクリプト]メニュー オプションは、スクリプトを ScriptPlugins フォルダにロードして、VRED を再始動しない限り、メニューバーに表示されません。「サンプル スクリプトをロードする方法」を参照してください。

サンプル スクリプトをロードする方法

[スクリプト]メニューに表示されるサンプル スクリプトをロードするには、次の操作を行います。

Windows (サンプル スクリプトのロード)

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

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

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

    C:\Users\<user>\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 という例がリストされます。

環境変数を使用してパスを定義する方法

[スクリプト]メニューを作成してスクリプト プラグインを追加するもう 1 つの方法は、環境変数の設定です。

環境変数には、バージョンに依存するものとしないものの 2 種類があります。絶対パスを使用すると、バージョン依存の環境変数を VRED バージョンごとに 1 つだけ定義できます。バージョンに依存しない環境変数にはこのような制限はありません。

Windows で環境変数を設定する方法

  1. [コントロール パネル]にアクセスします。

  2. ウィンドウの右上の検索フィールドで、次のように入力します。 environment variable

  3. 新しいページで、システム環境変数を編集するためのリンクをクリックします。[システムのプロパティ]ウィンドウの[詳細]タブが開きます。

  4. 環境変数ボタンをクリックします。

  5. [システム環境変数]セクションで、[新規]ボタンをクリックして、[新しいシステム変数]ウィンドウを開きます。

  6. 変数の名前 (VRED2019_SCRIPT_PLUGINS)、それに続いて値 (C) を入力します。

  7. 作業が完了したら、[OK]をクリックします。

Mac で環境変数を設定する方法

  1. ターミナル ウィンドウを開きます。

  2. 次のコマンドを入力します。

    export <variable name>=<value>

    export= VRED2018_2_SCRIPT_PLUGINS=C

非依存変数を使用する方法

VRED_SCRIPT_PLUGINS を使用して、VRED がスクリプト プラグインを検索する場所を定義します。これは以下に変数を追加します。

/Autodesk/VRED-<internalVersion>/ScriptPlugins

たとえば次のように入力した場合:

VRED_SCRIPT_PLUGINS=C:

スクリプト プラグインの検索パスを次のように設定します。

C:/Autodesk/VRED-<internalVersion>/ScriptPlugins

バージョン依存変数を使用する方法

バージョン依存変数を使用するには、対象のバージョンを適切に識別する必要があります。VRED を実行すると、バージョンはタイトル バーに表示されます。2019 と表示される場合、変数では 2019 に変更します。

たとえば、バージョン 2018.2 の場合は変数名は VRED2018_2_SCRIPT_PLUGINS になり 2019 の場合は VRED2019_SCRIPT_PLUGINS になります。

[スクリプト]メニューを使用する

[スクリプト]メニューに、スクリプト プラグインを表示するオプションと、VR の[メニュー]オプションをリストが含まれています。

[スクリプト]メニュー

[VR]メニュー

VR メニューのオプションを使用して、VR で使用される VR メニュー パネルに表示されるツールをカスタマイズします。

[VR]メニュー

このリスト内のアイテムをオンにすると、VR メニュー内にこれらのアイテムが表示されます。メニューからツールを削除するには、そのツールのチェックを解除します。

スクリプト プラグイン

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

QtQuickStreaming

WebGL ストリーミングが有効な場合に、Qt Quick アプリケーションを起動および停止するのに役立つ UI を作成します。この UI を使用して Qt Quick アプリケーションの GUI を Web ブラウザにストリーミングし、メディア エディタ内の Web エンジンまたはシーンプレート エディタ内の Web フロントプレートに Web ページを表示します。

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

VR メニューに[フラッシュライト]ツールを追加します。

VRGatherUsersModule

VR メニューに[ユーザを集める]ツールを追加します。

VRHideAvatarsModule

VR メニューに[アバターを表示]ツールを追加します。

VRMeasureModule

VR メニューに[計測]ツールを追加します。

VRMenuSetupModule

VR メニューにツールを追加するためのツールを追加します。