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

Возможность включать скрипты 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-файла.

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

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

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

../../_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, и они всё равно будут переопределять Настройки.