Scripts et sécurité

La possibilité d’intégrer des scripts Python dans les fichiers blend est précieux pour les tâches avancées telles que le rigging, l’automatisation et l’utilisation du Moteur de jeu. Cependant, cela représente un risque de sécurité car Python ne pose pas de limite à l’action d’un script.

Par conséquent vous ne devriez lancer que des scripts de sources connues et de confiance.

L’exécution automatique est désactivée par défaut. Cependant, certains fichiers blend ont besoin de cela pour fonctionner correctement.

Quand un fichier blend essaie d’exécuter un script et n’y est pas autorisé, un message va apparaître dans l’entête avec l’option Reload Trusted ou Ignore (message).

../../_images/animation_drivers_troubleshooting_autorun-info-header.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 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.
Lancement automatique du Moteur de jeu
Des scripts sont souvent utilisés pour la logique de jeu. Des fichiers blend peuvent avoir l’option Auto Start activée, ce qui permet de lancer le jeu au chargement.

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, parce que FreeStyle utilise des scripts pour contrôler les styles de ligne.
  • Lancer le Moteur de jeu.

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 possède l’option Trusted Source que vous pouvez utiliser au cas par cas pour contrôler l’exécution automatique.

Cependant, il se peut que vous ayez oublié de le définir, ou ouvert un fichier sans passer par le Navigateur de fichiers – aussi vous pouvez modifier les réglages par défaut (décrits ci-après).

Réglages par défaut

Dans l’onglet File de User Preferences, il y a le bouton interrupteur Auto Run Python Scripts.

Ceci veut dire que l’option Trusted Source dans le Navigateur de fichiers sera activée par défaut, et les scripts peuvent se lancer au chargement des fichiers blend sans utiliser le Navigateur de fichiers.

Une fois l’option activée, vous avez la possibilité d’exclure certains dossiers ; une configuration typique serait de faire confiance à tous les chemins à l’exception du dossier download (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 le rendu par lot ou quelque autre tâche depuis la ligne de commande – en lançant Blender sans interface utilisateur.

Dans ce cas, les User preferences sont encore utilisées mais il se peut que vous voudriez les ignorer :

  • Activez avec -y ou --enable-autoexec
  • Désactivez avec -Y ou --disable-autoexec

Exemple

Le rendu d’un animation en mode d’arrière-plan, avec permission pour les contrôleurs et autres scripts de se lancer :

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 User Preferences.