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

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

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

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

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

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

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

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

Registered Text-Blocks – Зареєстровані Блоки Тексту

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

Animation Drivers – Драйвери Анімації

Вирази на Python можуть бути використані для значень Drive та часто використовуються у більш просунутих оснастках та анімаціях.

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

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

  • Виконання скрипту у Редакторі Тексту – Text Editor.

  • Рендеринг рушієм Freestyle, оскільки Freestyle використовує скрипти для керування стилями ліній.

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

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

Перш за все, браузер файлів File Browser має опцію Trusted Source – «Надійне Джерело», яка може використовуватися у кожному конкретному випадку для керування авто виконанням. Однак, ви можете забути про цю уставу або відкривати файл не через Браузер Файлів – тому існує можливість зміни стандартної поведінки опції авто-виконання (описана нижче).

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

В уподобаннях Preferences є перемикач для автозапуску скриптів – Auto Run Python Scripts. При увімкненні це означатиме, що опція Trusted Source – «Надійне Джерело» у браузері файлів File Browser також буде стандартно увімкнена і скрипти зможуть запускатися при завантаженні blend-файлів у Blender без потреби використання Браузера Файлів. Після увімкнення ви маєте опцію виключати певні каталоги, типова конфігурація буде довіряти всім шляхам, окрім типового каталогу для звантажень.

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

Стяг авто запуску скриптів Auto Run Python Scripts.

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.