Scripts et sécurité

The ability to include Python scripts within blend-files is valuable for advanced tasks such as rigging and automation. However, it poses a security risk since Python does not restrict what a script can do. Therefore, you should only run scripts from sources you know and trust. Automatic execution is disabled by default, however, some blend-files need this to function properly.

Quand un fichier blend essaie d’exécuter un script et n’y est pas autorisé, un dialogue va apparaître, dans lequel vous pouvez choisir Allow Execution (autoriser l’exécution) ou Ignore (ignorer) les scripts.

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

Une alerte de lancement automatique dans l’entête de l’éditeur Info.

Scripts dans des fichiers blend

Exécution automatique

Voici les différentes façons pour les fichiers blend de lancer automatiquement des scripts.

Blocs de texte enregistrés

Un bloc de données texte peut avoir son option Register activée, ce qui signifie qu’il sera chargé au démarrage.

Contrôleurs d’animation

Les expressions Python peuvent être utilisées pour contrôler les valeurs et sont souvent utilisées dans les rigs et animations plus avancés.

Exécution manuelle

Il y a d’autres façons de lancer des scripts dans un fichier blend qui requièrent l’intervention de l’utilisateur (par conséquent ils seront lancés même si l’exécution automatique est désactivée), mais vous devriez être conscient que c’est le cas car cela n’est pas nécessairement évident.

  • Exécuter un script dans l’Éditeur de texte.

  • Faire le rendu avec FreeStyle, car FreeStyle utilise des scripts pour contrôler les styles de ligne.

Contrôle de l’exécution d’un script

Blender offre un certain nombre de moyens pour contrôler l’exécution automatique d’un fichier blend.

First of all, the File Browser has the option Trusted Source which you can use on a case-by-case basis to control auto execution. However, you may forget to set this, or open a file without going through the File Browser – so you can change the default (described next).

Réglages par défaut

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

La case à cocher Auto Run Python Scripts.

Ligne de commande

You may want to perform batch rendering or some other task from the command line – running Blender without an interface. In this case, the Preferences are still used but you may want to override them:

  • Activer avec -y ou --enable-autoexec

  • Désactiver avec -Y ou --disable-autoexec

Exemple

Rendering an animation in background mode, allowing drivers and other scripts to run:

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

Note

Ces arguments de ligne de commande peuvent être utilisés pour démarrer une instance normale de Blender et ignoreront toujours les Preferences.