Скриптинг и Безопасность

Возможность включать скрипты Python в blend-файлы полезна для сложных задач, таких как оснастка (rigging) и автоматизация. Однако это представляет угрозу безопасности, поскольку Python не ограничивает возможности скрипта. Поэтому вам следует запускать их только из источников, которые вы знаете и которым доверяете. Автоматическое выполнение отключено по умолчанию; однако некоторым blend-файлам это необходимо для правильной работы.

Когда blend-файл пытается выполнить скрипт, но ему это не разрешено, появится диалоговое окно. В нём вы можете выбрать Разрешить выполнение или Игнорировать скрипты.

../../_images/advanced_scripting_security_autorun-scripts-dialog.png

Предупреждение об автозапуске в заголовке информационного редактора.

Скрипты в Blend-файлах

Автоматическое выполнение

Вот различные способы автоматического запуска скриптов в blend-файлах.

Зарегистрированные текстовые блоки

Для текстового блока данных может быть включена опция Register, что означает, что он будет загружаться при запуске.

Драйверы анимации

Выражения Python (expressions) могут использоваться для Drive (Управления) значениями и часто используются в более сложных установках (rigs) и анимациях.

Ручное выполнение

Существуют и другие способы выполнения сценариев (scripts) в blend-файле, требующие взаимодействия с пользователем (поэтому они будут выполняться, даже если автоматическое выполнение отключено), но вы должны знать, что это именно тот случай, поскольку это не обязательно очевидно.

  • Запуск скрипта в текстовом редакторе.

  • Рендеринг с помощью Freestyle, поскольку Freestyle использует скрипты для управления стилями линий.

Управление выполнением скрипта

Blender предоставляет несколько способов контролировать, разрешено ли автоматическое выполнение сценариев из blend-файла.

Во-первых, в браузере файлов есть опция Надежный источник, которую вы можете использовать в каждом конкретном случае для управления автоматическим выполнением. Поскольку вы можете забыть установить это значение или открыть файл, не используя файловый браузер, вы можете изменить значение по умолчанию (описано ниже).

Установка значений по умолчанию

In the Preferences, there is the toggle to Auto Run Python Scripts. This means the Trusted Source option in the File Browser will be enabled by default, and scripts can run when blend-files are loaded without using the File Browser. Once enabled you have the option to exclude certain directories; a typical configuration would be to trust all paths except for the download directory.

../../_images/animation_drivers_troubleshooting_autorun-user-preference.png

Флажок «Автозапуск скриптов Python».

Командная строка

Возможно, вы захотите выполнить пакетный рендеринг или какую-либо другую задачу из командной строки, запустив Blender без интерфейса. В этом случае Настройки по-прежнему используются, но вы можете переопределить их:

  • Включить с помощью -y или --enable-autoexec

  • Отключите с помощью -Y или --disable-autoexec

Пример

Чтобы визуализировать (render) анимацию в фоновом режиме, позволяя запускать драйверы и другие сценарии:

blender --background --enable-autoexec my_movie.blend --render-anim

Примечание

Эти аргументы командной строки можно использовать для запуска обычного экземпляра Blender, и они всё равно будут переопределять Настройки.