使用脚本

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

脚本插件可以访问 VREDPluginWidgetVREDMainWindowvrMainWindow。加载或重新加载时,这些参数将复制到每个插件的全局参数中。

使用“脚本编辑器”,需要以不同的方式处理这些内容。每次按“运行”时,都会破坏在之前运行的脚本编辑器中创建的所有对象,并通过 Python 的垃圾回收将其释放和清理。

“脚本编辑器”的“运行”按钮

它不会移除加载到编辑器的脚本中没有的对象。您可以通过“终端”中的命令行创建对象实例,按下“运行”时不会触发这些对象实例。

下面是一个简单测试:

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

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

t = test()

在“脚本编辑器”中运行此命令演示了在再次执行脚本之前单击“运行”将进行清理。

如何创建脚本菜单选项

首先,您需要创建一个“脚本”菜单。除非您已将其他插件加载到 VRED 中,否则,这会从菜单栏中消失。执行以下操作将“脚本”菜单添加到菜单栏:

Windows(创建脚本菜单选项)

  1. 在浏览器窗口中,导航到:

    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. 创建 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 的示例列出。

如何使用环境变量定义路径

要使用另一种方法来创建“脚本”菜单并添加脚本插件,可尝试设置环境变量。

有两种类型的环境变量,一种与版本相关,另一种与版本无关。您只能使用绝对路径为每个 VRED 版本定义一个与版本相关的环境变量。对于与版本无关的环境变量,没有这种限制。

如何在 Windows 上设置环境变量

  1. 访问“控制面板”。

  2. 在窗口右上角的“搜索”字段中键入:environment variable

  3. 在新的页面上,单击用于编辑系统环境变量的链接。这将打开“系统属性”窗口的“高级”选项卡。

  4. 单击“环境变量”按钮。

  5. 在“系统变量”部分中,单击“新建”按钮以打开“新建系统变量”窗口。

  6. 输入变量名称 (VRED2019_SCRIPT_PLUGINS),后跟值 (C)

  7. 完成后单击“确定”。

如何在 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

使用“脚本”菜单

“脚本”菜单包含多个选项、脚本化插件列表以及 xR 主页菜单选项。

“脚本”菜单

xR 主页菜单

使用 xR 主页菜单中的选项可自定义显示在 VR 使用的 xR 主页菜单面板中的工具。

xR 主页菜单

选中此列表中的项后,它们将显示在 xR 主页菜单中。要从菜单中移除工具,请取消选中它们。

脚本化插件

VRED 随附了各种脚本化插件,这些插件列在“脚本”菜单中。

QtQuickStreaming

创建一个便捷的用户界面,用于在启用 WebGL Streaming 的情况下启动和停止 Qt Quick 应用程序。使用它可以将 Qt Quick 应用程序的 GUI 流式传输到 Web 浏览器,并在“媒体编辑器”中的 Web 引擎或“场景板编辑器”中的 Web 前板中显示网页。

重要信息:此应用程序在本地计算机上将作为 VRED 的子进程在后台运行。

VRFlashlightModule

“闪光灯”工具添加到 xR 主页菜单。

VRGatherUsersModule

“聚集用户”工具添加到 xR 主页菜单。

VRHideAvatarsModule

“显示头像”工具添加到 xR 主页菜单。

VRMeasureModule

“测量”工具添加到 xR 主页菜单。

VRMenuSetupModule

将一个用于添加工具的工具添加到 xR 主页菜单。