Scripts et sécurité

La possibilité d’inclure des scripts Python dans des fichiers blend est précieuse pour les tâches avancées telles que le rigging et l’automatisation. Cependant, ceci constitue un risque de sécurité puisque Python ne limite pas ce qu’un script peut faire. Par conséquent, vous ne devez exécuter que des scripts provenant de sources que vous connaissez et auxquelles vous faites confiance. L’exécution automatique est désactivée par défaut ; cependant, certains fichiers blend en ont besoin pour fonctionner correctement.

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.

Tout d’abord, le navigateur de fichiers a l’option Trusted Source que vous pouvez utiliser au cas par cas pour contrôler l’exécution automatique. Comme vous pouvez oublier de le définir ou ouvrir un fichier sans passer par le navigateur de fichiers, vous pouvez modifier la valeur par défaut (décrit ci-après).

Réglages par défaut

Dans les Préférences, il y a la bascule pour Auto Run Python Scripts. Cela signifie que l’option Trusted Source dans l’explorateur de fichiers sera activée par défaut et que les scripts pourront s’exécuter lorsque les fichiers blend sont chargés sans utiliser le navigateur de fichiers. Une fois activé, vous avez la possibilité d’exclure certains répertoires; une configuration typique serait de faire confiance à tous les chemins à l’exception du répertoire de téléchargement.

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

La case à cocher Auto Run Python Scripts.

Ligne de commande

Il se peut que vous souhaitiez exécuter un rendu par lots ou une autre tâche à partir de la ligne de commande – en exécutant Blender sans interface. Dans ce cas, les Préférences sont toujours utilisées mais vous pouvez les remplacer :

  • Activer avec -y ou --enable-autoexec

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

Exemple

Pour rendre une animation en mode arrière-plan, permettant aux pilotes et autres scripts de s’exécuter :

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.