Dernières actualités
Gestion des couleurs dans Blender : AgX, flux linéaire et exportUtiliser V-Ray Enmesh dans 3ds Max : créer des motifs de surface répétitifsGuide pour modifier rapidement les objets d’une scène avec la console Python de BlenderBlender Geometry Nodes : Boolean et Extrude, guide de modélisation architecturaleGuide Unreal Engine Level Snapshots : gérez vos variantes de scène en toute sécuritéTransformer une image d’architecture en vidéo : guide pas à pas pour Gemini OmniVisualisation architecturale avec Unreal Engine 5.0 : Lumen, Nanite et ombresRhino 8 : guide Make2D et Print pour les dessins 2D et les planchesRéaliser des rendus architecturaux de qualité avec Movie Render Graph dans Unreal EngineReactor reçoit le soutien de NVIDIA : investir dans l’infrastructure 3D temps réel
TutorielsBlender

Guide pour modifier rapidement les objets d’une scène avec la console Python de Blender

La console Python de Blender permet de tester de courts extraits de code et d’explorer l’API de Blender. Ce guide présente les étapes pour examiner l’objet sélectionné, modifier sa position et ajouter une lumière à la scène.

Poste de visualisation avec un modèle d’intérieur et une lumière ponctuelle dans une scène BlenderImage IA
Image d’illustration générée par IA.Image : 3dsınıfı / FCA AI

En bref

  1. Les commandes de la console Python s’exécutent avec la touche Entrée et peuvent être rappelées depuis l’historique.
  2. bpy.context donne accès aux informations de contexte, comme la scène actuelle et les objets sélectionnés.
  3. La position de l’objet actif peut être modifiée depuis la console Python.
  4. Un exemple tiré de la documentation de l’API Blender permet d’ajouter une lumière ponctuelle à la scène.

La console Python de Blender permet d’examiner les données d’une scène et d’explorer l’API de Blender en exécutant de courts extraits de code. Les exemples de la documentation de Blender montrent comment modifier la position de l’objet actif, afficher les objets sélectionnés et ajouter une nouvelle lumière à la scène. Les étapes ci-dessous se concentrent sur l’utilisation de la console Python pour effectuer de petites opérations faciles à contrôler.

Ce que vous allez apprendre dans ce guide

La console Python permet non seulement d’exécuter les commandes saisies, mais propose aussi un historique des commandes et une complétion automatique. Nous commencerons par interroger le contexte actuel, c’est-à-dire l’objet et le mode actifs dans Blender. Nous modifierons ensuite la position de l’objet actif, afficherons les objets sélectionnés et créerons un nouvel objet lumière.

Cette approche convient aux petits essais, plutôt que de préparer un long script pour chaque opération. Lorsqu’une commande fonctionne comme prévu, l’historique de la console facilite sa réutilisation. Selon la documentation de Blender, les commandes de l’historique peuvent être rappelées avec les flèches haut et bas ; dans la ligne de commande, la touche Tab active la complétion automatique.

Prérequis et préparation

Ces exemples s’appuient sur la console Python de Blender et sur bpy, l’API Python de Blender. Les documents sources ne précisent aucun numéro de version de Blender, besoin de compte, configuration matérielle minimale ni méthode d’installation. Il convient donc de vérifier le comportement de l’API dans la version utilisée pour ces exemples.

Dans la console, une commande s’exécute avec la touche Entrée. Lors de la saisie, la touche Tab peut afficher des suggestions de complétion automatique pour les membres disponibles. La documentation de Blender recommande également d’exécuter la commande dir() pour se familiariser avec l’environnement de la console. Le premier exemple ci-dessous interroge le mode et l’objet actif dans le contexte actuel :

python
bpy.context.mode
bpy.context.active_object

La première ligne renvoie le mode d’interaction actuel, la seconde l’objet actif. La documentation précise qu’un objet doit être sélectionné dans le 3D Viewport pour obtenir des résultats pertinents. En l’absence d’objet actif, les commandes qui tentent d’accéder à ses propriétés ne donneront pas le résultat attendu ; avant les étapes de modification, vérifiez donc qu’un objet approprié est actif dans la scène.

Étape par étape : opérations de base dans la console

1. Explorer les membres de l’API

Vous pouvez utiliser la complétion automatique pour découvrir les propriétés disponibles dans l’API Blender. Saisissez l’expression ci-dessous dans la console, puis appuyez sur Tab pour afficher des suggestions de sous-modules, de propriétés et de méthodes de bpy. La documentation indique que les méthodes se distinguent des autres suggestions par les parenthèses à la fin de leur nom.

python
bpy.

Examiner les membres d’une variable ou d’un module permet de découvrir l’API disponible, plutôt que de saisir des commandes de mémoire. Dans l’environnement de la console, bpy.context et bpy.data disposent aussi des raccourcis C et D. Vous pouvez commencer par exécuter dir() pour explorer les fonctions et variables générales définies dans l’environnement.

2. Modifier la position de l’objet actif

L’objet actif est accessible depuis le contexte. La documentation propose des exemples qui modifient la coordonnée X d’un objet et lui ajoutent une petite valeur. Commencez par interroger la coordonnée actuelle de l’objet, puis appliquez une augmentation de 0,5 unité sur l’axe X avec la commande suivante :

python
bpy.context.object.location.x += 0.5

Cette commande modifie la propriété de position de l’objet actif. Si aucun objet n’est sélectionné, bpy.context.object peut ne renvoyer aucun objet approprié. Il est donc important de vérifier qu’un objet est actif avant d’exécuter la commande. La flèche haut rappelle la commande précédente depuis l’historique ; toutefois, cela n’annule pas la modification apportée à la scène. Vérifiez l’objet actif et le résultat dans la scène avant de tester une autre coordonnée.

3. Attribuer les trois coordonnées en même temps

Pour modifier les trois composantes de la position en une seule fois, vous pouvez fournir les coordonnées sous forme de tuple. L’exemple ci-dessous attribue respectivement les valeurs 1, 2 et 3 aux axes X, Y et Z :

python
bpy.context.object.location = (1, 2, 3)

Il est également possible de modifier uniquement les composantes X et Y. Cette méthode permet d’attribuer une valeur aux deux coordonnées tout en conservant la valeur Z actuelle :

python
bpy.context.object.location.xy = (1, 2)

Ces exemples accèdent directement à la position de l’objet actif. Dans une modification de scène, savoir quel objet est actif permet d’éviter de modifier le mauvais. Avant d’entreprendre des opérations plus complexes, il est prudent de faire un essai sur un seul objet et d’en vérifier le résultat dans la scène.

4. Afficher les objets sélectionnés

Lorsque plusieurs objets sont sélectionnés, bpy.context.selected_objects renvoie la liste des objets sélectionnés. Pour afficher ceux qui sont sélectionnés en dehors de l’objet actif, utilisez l’expression suivante :

python
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]

Cet exemple parcourt les objets sélectionnés et ajoute à la liste de résultats ceux qui ne sont pas l’objet actif. Vous pouvez ainsi examiner dans la console la différence entre l’objet actif et les autres objets sélectionnés. bpy.context donne accès aux informations de contexte telles que la scène en cours, les objets sélectionnés et le mode actuel ; bpy.data permet, quant à lui, d’accéder aux données du fichier blend, qu’elles soient sélectionnées ou actives ou non.

5. Ajouter une lumière ponctuelle à la scène

L’exemple de la documentation de l’API Blender crée un nouveau bloc de données de lumière et un objet qui l’utilise, puis les lie à la collection active. Il définit ensuite la position de la lumière, la sélectionne et la rend active. Le code ci-dessous reprend l’exemple de base d’une lumière ponctuelle fourni dans la documentation :

python
import bpy

view_layer = bpy.context.view_layer
light_data = bpy.data.lights.new(name="New Light", type='POINT')
light_object = bpy.data.objects.new(name="New Light", object_data=light_data)
view_layer.active_layer_collection.collection.objects.link(light_object)
light_object.location = (5.0, 5.0, 5.0)
light_object.select_set(True)
view_layer.objects.active = light_object

Le code crée d’abord les données de lumière, puis ajoute à la collection de la scène l’objet qui leur est associé. Une fois la position définie et l’objet sélectionné, la nouvelle lumière devient l’objet actif. L’exemple de la documentation montre comment créer ce type d’objet, le lier à la scène, le positionner et l’activer.

Erreurs fréquentes

L’un des problèmes les plus courants consiste à tenter d’accéder aux propriétés d’un objet alors qu’aucun objet n’est actif. Avant les exemples de position, vérifiez qu’un objet est sélectionné et actif. Modifier un autre objet s’explique aussi souvent par le fait de ne pas avoir remarqué lequel était actif dans le contexte.

Autre confusion possible : prendre l’effacement du contenu de la console pour la suppression de l’historique des commandes. Selon la documentation de Blender, Clear All, dans le menu de la console, actualise l’affichage sans supprimer l’historique des commandes. Les commandes précédentes et suivantes peuvent être rappelées avec les flèches. Shift+Entrée ajoute la commande à l’historique sans l’exécuter ; pour l’exécuter, utilisez Entrée.

Si vous souhaitez enregistrer vos commandes après quelques essais sous forme de script, le raccourci Copy as Script indiqué dans la documentation permet de copier l’intégralité du tampon de l’historique dans le presse-papiers. Vous pouvez coller ce contenu dans un fichier texte et l’utiliser comme script Python. Avant de passer à un projet plus important, vérifier le code et son effet sur la scène aide à éviter d’intégrer accidentellement des commandes de test dans un fichier de production.

Utilisation dans les flux de travail d’architecture et de visualisation

Dans les projets d’architecture, d’architecture d’intérieur et d’archviz, la console peut servir à tester de petites opérations répétitives, comme modifier rapidement la position de l’objet actif, examiner les objets sélectionnés ou ajouter une lumière à la scène. Les étudiants et artistes de la visualisation qui commencent à découvrir l’API Python de Blender peuvent observer les liens entre le contexte et les propriétés des objets au moyen de commandes simples.

Les exemples présentés ici restent toutefois élémentaires ; les sources ne fournissent aucune information sur un modèle de projet particulier, des paramètres de rendu, les exigences matérielles ou la compatibilité avec d’autres logiciels. Si vous envisagez une automatisation dans le flux de travail d’un studio, il est nécessaire de tester les exemples avec la version de Blender utilisée et la structure des objets du projet. Vérifier l’effet des commandes sur la scène et enregistrer l’historique sous forme de script au besoin permet d’intégrer ces petits essais dans un processus plus organisé.

Étapes suivantes

Commencez par les commandes qui interrogent le contexte, puis essayez séparément les exemples sur la position et les objets sélectionnés. Pour combiner plusieurs commandes, consultez l’exemple Object dans la documentation de l’API Blender et suivez les étapes de création du bloc de données, de liaison à une collection et d’activation de l’objet. Les opérateurs permettent également d’appeler par programmation des actions normalement déclenchées par un bouton ou un menu ; consultez la documentation de l’API correspondante pour savoir lequel utiliser.

Sources et licence

Ce guide a été adapté à partir de la page « Python Console » du Blender Manual et de la référence « Object » de l’API Python de Blender. Les deux sources sont sous licence CC BY-SA 4.0 ; leur contenu a été traduit en turc et reformulé, et les exemples de code s’appuient sur les usages présentés dans la documentation de l’API correspondante.

Sources

2 sources
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/manual/en/latest/editors/python_console.html
Résumé
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.types.Object.html
Résumé

Les textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.

L’avis de 3dsınıfı
3dL’analyse de la rédaction

Pour les agences d’architecture et les étudiants en Turquie, l’intérêt pratique de ce guide réside dans la possibilité d’apprendre à effectuer de petites modifications de scène dans Blender en testant l’API. Les exemples qui consistent à interroger l’objet sélectionné, à modifier sa position et à ajouter une lumière offrent un point de départ avant de passer à des automatisations plus poussées.

Les sources ne précisent toutefois ni la compatibilité des versions, ni les exigences matérielles, ni le coût du produit. Avant d’intégrer ces exemples à des fichiers de production, il faut donc les valider avec la version de Blender utilisée et dans la scène du projet, et évaluer séparément les questions de licence, de matériel et de flux de travail.

Questions fréquentes

Comment exécuter une commande dans la console Python de Blender ?

Saisissez la commande dans la ligne de la console, puis appuyez sur Entrée. Tab affiche la complétion automatique ; les flèches haut et bas permettent de parcourir l’historique des commandes.

Comment modifier la position de l’objet actif dans Blender avec Python ?

Vous pouvez accéder à l’objet actif avec bpy.context.object et modifier sa propriété location. Par exemple, la commande bpy.context.object.location.x += 0.5 ajoute 0,5 à la coordonnée X.

Peut-on ajouter une lumière à une scène Blender avec la console Python ?

Oui. L’exemple de la documentation de l’API Python de Blender crée les données et l’objet d’une lumière ponctuelle, les lie à la collection active, puis positionne et active la lumière.

Les commentaires et le forum sont en turc.Rejoindre la discussion
+

À lire aussi