在生产环境中部署 Blender

本页包含在动画工作室和学校等环境中设置 Blender 的技巧。

这些环境通常对安全性、自动部署和定制化有特殊要求。

安装 Blender

Blender 的下载文件可解压到系统上的任意目录,作为独立安装包使用。同一系统上可以同时安装多个 Blender 版本,并且可以使用标准的文件管理工具实现自动部署。

Blender 的新版本可能会添加、删除或更改某些功能,从而影响制作文件的输出结果。对于某个特定项目,建议使用单一的 LTS 版本的 Blender.LTS 版本在发布后的两年内会持续获得 bug 修复。

离线工作

出于安全或其他原因,工作站可能无法访问互联网。

默认情况下,Blender 不会访问互联网,但可以在系统偏好设置中通过联机访问选项启用。

脱机工作可通过使用 --offline-mode 命令行参数来强制执行。这样,用户就无法在偏好设置中启用在线访问。

Note

遵循此设置的插件只有在启用的情况下才会连接到互联网。然而,Blender 无法阻止第三方插件违反这一规则。

捆绑扩展

在离线或更受控制的环境中工作时,向所有用户提供一组扩展可能很有用。为此,我们提供了一个默认的只读系统存储库。该存储库可以位于只读网络驱动器或系统目录中。

../_images/advanced_deploying-blender_system-extensions.png

系统存储库

$BLENDER_SYSTEM_EXTENSIONS 环境变量控制默认位置。它应指向一个目录,其中应存在一个 system 目录。

扩展包应在此 system 目录中解压缩,解压后的路径如下:

$BLENDER_SYSTEM_EXTENSIONS/system/my-addon/blender_manifest.toml

在扩展偏好设置中,可以手动为默认系统存储库设置自定义目录,或创建多个库。

捆绑脚本

除扩展以外,还可以捆绑预设脚本、应用程序模板、旧式插件以及启动时运行的脚本。

脚本目录可在文件路径偏好设置中手动添加。也可使用 $BLENDER_SYSTEM_SCRIPTS 添加脚本目录,而无需修改设置。

脚本目录应包含特定的子目录,如用于不同类型脚本的 presetsaddonsstartup.完整列表请参见路径布局

启动脚本

Blender Python API 可用于定制 Blender.这包括更改偏好设置、更改启动文件和添加用户界面元素。

例如,一个可以为每个用户启用插件的脚本。

$BLENDER_SYSTEM_SCRIPTS/startup/enable_addons.py
def register():
    import addon_utils
    addon_utils.enable("my-addon")

def unregister():
    pass

if __name__ == "__main__":
    register()

应用模板

应用模板可以用来为特定任务或项目设置 Blender,与默认配置分开。创建新文件时,用户可以选择模板。

这些文件应该像这样放置在系统脚本目录中:

$BLENDER_SYSTEM_SCRIPTS/startup/bl_app_templates_system/MyTemplate/__init__.py
$BLENDER_SYSTEM_SCRIPTS/startup/bl_app_templates_system/MyTemplate/startup.blend

旧式插件

尚未转换为扩展的插件需要放在 addons 脚本目录中。

例如,插件可以位于:

$BLENDER_SYSTEM_SCRIPTS/addons/simple_addon.py
$BLENDER_SYSTEM_SCRIPTS/addons/complex_addon/__init__.py

启动画面

为特定工作室或项目配置 Blender 时,自定义启动画面很有帮助,这样艺术家们就能知道他们运行的是哪个版本。

BLENDER_CUSTOM_SPLASH 环境变量会替换整个启动画面的图像,而 BLENDER_CUSTOM_SPLASH_BANNER 只叠加为一个横幅。

VFX 平台

Blender 遵循 VFX 参考平台,这意味着它能够与其他视觉特效软件在相同的系统上运行,并能与它们交换图像、体积和场景文件。

Python 版本

Blender 和 bpy 模块 只兼容单个 Python 版本。这使得插件和一般的 VFX 软件只需针对单个 Python 版本。

Blender 预装了完整的 Python 包,默认情况下不会与系统 Python 进行交互。若需调整此设置,可通过 --python-use-system-env 命令行参数进行修改,但需确保配置兼容的 Python 版本。