Скриптування та Безпека – Scripting & Security

Можливість включення скриптів Python у blend-файли є цінною для просунутих завдань, таких як оснащення та автоматизація. Однак це створює ризик для безпеки, оскільки Python не обмежує те, що може робити скрипт.

Тому, вам слід виконувати скрипти лише джерел, які ви знаєте та яким довіряєте.

Автоматичне виконання стандартно вимкнене, однак, деякі з blend-файлів потребують його для правильного функціонування.

Коли blend-файл намагається виконати скрипт і це не дозволено, то з’явиться діалог. У ньому ви можете вибрати Дозволити Виконання – Allow Execution або Ігнорування – Ignore для скриптів.

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

Попередження про Авто-проганяння у заголовку Редактора Інфо – Info Editor.

Скрипти у Blend-Файлах – Scripts in Blend-Files

Авто Виконання – Auto Execution

Ось різні способи, якими blend-файли можуть автоматично запускати скрипти.

Зареєстровані Блоки Тексту – Registered Text-Blocks
A text data-block can have its Register option enabled which means it will load on start.
Драйвери Анімації – Animation Drivers
Вирази на Python можуть бути використані для значень Drive та часто використовуються у більш просунутих оснастках та анімаціях.

Виконання Вручну – Manual Execution

Існують і інші способи, якими можна виконувати скрипти у blend-файлах, що вимагають взаємодії користувача (а тому ці скрипти будуть виконуватися, коли опція авто виконання вимкнута), але ви повинні знати, що так буває, і це не є обов’язково очевидним.

  • Виконання скрипту у Редакторі Тексту – Text Editor.
  • Rendering with Freestyle, because Freestyle uses scripts to control line styles.

Керування Виконанням Скрипту – Controlling Script Execution

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

Перш за все, Браузер Файлів – File Browser має опцію «Довірене Джерело» – Trusted Source, яка може використовуватися у кожному конкретному випадку для керування авто виконанням.

Однак, ви можете забути про цю уставу або відкривати файл не через Браузер Файлів – тому існує можливість зміни стандартної поведінки опції авто-виконання (описана нижче).

Установлення Стандартів – Setting Defaults

У вкладці Файл – File Уподобань – Preferences є перемикач Авто Проганяння Скриптів Python – Auto Run Python Scripts.

При увімкненні це означатиме, що опція Довірене Джерело – Trusted Source у Браузері Файлів – File Browser також буде стандартно увімкнена і скрипти зможуть проганятися при завантаженні blend-файлів у Blender без потреби використання Браузера Файлів.

Після увімкнення ви маєте опцію виключати певні каталоги, типова конфігурація буде довіряти всім шляхам, окрім типового каталогу для звантажень.

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

Стяг Авто Проганяння Скриптів Python.

Командний Рядок – Command Line

Ви можете забажати здійснювати пакетний рендеринг або деякі інші завдання з командного рядка – проганяючи Blender без інтерфейс.

У цьому випадку, Уподобання – Preferences все ще використовуються, але ви можете схотіти замістити їх:

  • Увімкнення здійснюється через додання до команди виконання Blender’а аргументу -y або --enable-autoexec
  • Вимикання здійснюється через додання до команди виконання Blender’а аргументу -Y or --disable-autoexec

Приклад – Example

Рендеринг анімації у фоновому режими з дозволом проганяння драйверів та інших скриптів:

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

Примітка

Ці аргументи командного рядка можуть використовуватися для запуску звичайного примірника Blender’а та замістять Уподобання – Preferences.