En bref
- Vous pouvez accéder à la caméra active via `scene.camera` et modifier sa focale.
- Le guide des tiers peut être activé avec la propriété `show_composition_thirds` des données de la caméra.
- La plage d’animation se définit avec les propriétés `frame_start` et `frame_end`.
- Depuis Blender 5.0, la propriété `scene.use_nodes` est obsolète ; pour régler la composition, il faut utiliser `scene.render.use_compositing`.
Ce que vous allez apprendre dans ce guide
Gérer les paramètres de caméra et de timing d’une scène de visualisation architecturale dans Blender via l’API Python permet de mettre en place un processus de travail reproductible. Dans ce guide, nous voyons comment repérer la caméra active, modifier sa focale, afficher le guide de cadrage et définir les images de début et de fin de l’animation. Dans la dernière partie, nous verrons comment définir une plage de prévisualisation plus courte et vérifier les erreurs courantes.
Les exemples présentés ici s’appuient sur les propriétés Scene et Camera décrites dans la documentation actuelle de l’API Blender. L’objectif n’est pas d’automatiser tous les paramètres de rendu, mais d’appliquer de manière contrôlée des choix fondamentaux tels que le cadrage de la caméra et la plage temporelle de la scène.
Prérequis
Exécutez les exemples dans un environnement où l’API Python de Blender est disponible. Les extraits de code supposent que le module interne bpy et le contexte de la scène active sont prêts à l’emploi. D’après la documentation, la scène est accessible via bpy.context.scene et la caméra active de la scène est stockée dans la propriété scene.camera.
Il s’agit des pages actuelles de la documentation de l’API. Il y est également indiqué que Scene.use_nodes est obsolète depuis Blender 5.0 et que sa suppression est prévue pour la version 6.0. Comme ce guide ne met pas en place de nœuds de composition, cette propriété n’est pas nécessaire pour les exemples consacrés à la caméra et à la plage d’images. Les sources ne mentionnent aucune exigence concernant un compte.
Avant d’appliquer le code, il est recommandé de conserver une copie du fichier de projet et de tester les valeurs dans une petite scène de test. Cette habitude permet d’éviter toute modification involontaire des paramètres de la scène, notamment dans les projets comportant différentes configurations de caméra ou plages d’animation.
1. Vérifier la caméra active
Commencez par vérifier si la scène possède une caméra active. Scene.camera indique la caméra utilisée pour le rendu. Le code ci-dessous affiche son nom si une caméra est présente ; sinon, il indique que la scène n’a pas de caméra active. Cette vérification constitue un point de départ sûr avant d’accéder aux données de la caméra dans les extraits suivants.
scene = bpy.context.scene
camera = scene.camera
if camera is None:
print("Sahnede aktif kamera yok.")
else:
print("Aktif kamera:", camera.name)La présence d’une caméra dans la scène ne signifie pas nécessairement qu’elle a été sélectionnée comme caméra active. Le code n’accède qu’à la caméra active via scene.camera. Si aucune caméra n’est détectée, définissez celle qui sera utilisée dans la scène avant de passer aux réglages de focale et de cadrage.
2. Régler la focale et le guide de cadrage
Les paramètres de la caméra sont stockés dans son bloc de données, accessible via camera.data. Pour une caméra en perspective, lens exprime la focale en millimètres. La valeur par défaut indiquée dans la documentation est de 50,0 mm ; dans cet exemple, elle est réglée sur 35,0 mm. Il s’agit d’une modification numérique via l’API : elle ne garantit pas à elle seule un résultat architectural particulier. Vérifiez l’image pour choisir la valeur appropriée.
scene = bpy.context.scene
camera = scene.camera
if camera is not None:
camera.data.lens = 35.0Pour utiliser le guide des tiers dans la vue caméra, vous pouvez activer la propriété show_composition_thirds du même bloc de données. Ce guide aide à évaluer la disposition des éléments dans le cadrage ; il ne modifie pas automatiquement la géométrie ni la position de la caméra.
scene = bpy.context.scene
camera = scene.camera
if camera is not None:
camera.data.show_composition_thirds = TrueSi le guide n’apparaît pas, vérifiez que vous êtes bien dans la vue caméra et que la caméra active est correcte. Cette propriété fait partie des paramètres d’affichage des guides de composition de la caméra dans l’API. La documentation répertorie également le centre, le nombre d’or et d’autres guides de composition ; cet exemple se limite ici au guide des tiers pour évaluer un cadrage architectural.
3. Définir la plage d’images de l’animation
Les points de début et de fin de la plage de lecture et de rendu d’une scène sont définis avec les propriétés frame_start et frame_end. L’exemple ci-dessous règle la plage de la première à la 120e image, puis place l’image courante de la scène sur l’image de début. Ces valeurs sont données à titre d’exemple ; adaptez-les à la durée de votre animation.
scene = bpy.context.scene
scene.frame_start = 1
scene.frame_end = 120
scene.frame_set(scene.frame_start)La méthode frame_set() actualise les objets et les couches de vue lorsqu’elle définit l’image courante. Vous pouvez donc l’utiliser pour mettre à jour l’image de la scène, plutôt que de conserver simplement le numéro d’image dans une variable. La documentation de l’API précise que la méthode frame_set() accepte également une valeur de sous-image ; ce guide s’en tient à l’utilisation de base avec des images entières.
Il est également possible de définir une plage de début et de fin distincte pour la prévisualisation. La propriété use_preview_range indique si cette plage alternative est utilisée, tandis que frame_preview_start et frame_preview_end en définissent les limites.
scene = bpy.context.scene
scene.use_preview_range = True
scene.frame_preview_start = 20
scene.frame_preview_end = 40Dans cet exemple, la plage de prévisualisation couvre les images 20 à 40. Selon la description de l’API, cette plage alternative peut être utilisée pour la lecture de l’animation et les rendus de la vue. Cette distinction peut être utile si vous ne souhaitez pas modifier la plage principale de l’animation. Vérifiez dans la scène que les paramètres de prévisualisation fonctionnent comme prévu.
Erreurs courantes
Oublier de vérifier la présence d’une caméra active : si
scene.cameraest vide, vous ne pouvez pas accéder au bloc de données de la caméra. Commencez par exécuter la vérification du premier exemple.Chercher le paramètre sur le mauvais objet : la focale et le guide de composition de la caméra se trouvent dans la section
datade l’objet caméra. La plage d’images, elle, fait partie des propriétés de la scène.Confondre la plage de prévisualisation avec la plage principale :
frame_preview_startetframe_preview_endsont distincts des valeurs principalesframe_startetframe_end. Vérifiez également le paramètreuse_preview_range, qui active la plage alternative.Utiliser l’ancien paramètre de composition : la documentation indique que la propriété
Scene.use_nodesest obsolète depuis Blender 5.0, que sa définition est sans effet et que sa suppression est prévue en version 6.0. Pour activer ou désactiver la composition, utilisez la propriétéscene.render.use_compositing.Reprendre les valeurs d’exemple telles quelles dans un projet : 35 mm ou 120 images ne conviennent pas nécessairement à toutes les scènes. Évaluez le cadrage et la durée de l’animation en fonction des besoins du projet.
Étapes suivantes dans un flux de travail d’architecture et de visualisation
Cette méthode peut être utile aux équipes de visualisation qui réappliquent des réglages de cadrage et de timing dans une même scène, ainsi qu’aux étudiants qui apprennent à configurer une caméra. Ces courts extraits de code peuvent, par exemple, servir de base pour revenir à une plage fixe de la scène ou réactiver le guide de composition. Ils n’accélèrent toutefois pas le rendu et ne fournissent aucune information sur des exigences matérielles spécifiques. Dans les projets de grande envergure, testez les modifications d’abord sur le poste de travail utilisé et sur une copie du projet.
Pour commencer, appliquez les extraits de code un par un dans votre scène et vérifiez le cadrage de la caméra ainsi que la plage d’images. Si vous souhaitez ensuite transformer ces réglages en un flux de travail partageable avec l’équipe, consultez les objets et propriétés concernés de l’API Blender. Pour modifier les paramètres de composition, utilisez la propriété actuelle scene.render.use_compositing ; n’écrivez pas de nouveau code reposant sur l’ancienne propriété scene.use_nodes.
Sources et licence
Ce guide a été adapté à partir des propriétés décrites dans la documentation de l’API Blender pour Scene et Camera. Les deux sources sont proposées sous licence CC BY-SA 4.0 : bpy.types.Scene et bpy.types.Camera. Les exemples de code ont été écrits pour ce guide à partir des noms d’API décrits dans la documentation.
Sources
2 sourcesLes textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.
Gérer les paramètres de caméra et de timing via l’API Blender est un point de départ pratique, en particulier pour les bureaux qui réutilisent la même configuration de scène pour différents livrables. Les extraits de code sont courts et se limitent aux propriétés de la scène ; ils permettent donc de progresser par étapes mesurables avant de mettre en place un système d’automatisation complexe.
Pour les étudiants et les équipes de visualisation en Turquie, le principal point d’attention est de ne pas considérer les valeurs d’exemple comme une recette toute faite. Le guide ne fournit aucune information sur les performances matérielles ni sur le coût des licences ; il faut tester les modifications sur le poste de travail utilisé et examiner séparément les conditions de licence propres aux fichiers de projet.
Questions fréquentes
Comment accéder à la caméra active avec l’API Python de Blender ?
Accédez à la scène active avec `bpy.context.scene`, puis à la caméra active de la scène avec `scene.camera`. S’il n’y a pas de caméra, la valeur de `scene.camera` peut être vide.
Comment modifier la focale d’une caméra dans Blender avec Python ?
Vous pouvez définir la propriété `camera.data.lens` dans le bloc de données de la caméra active. Cette propriété indique la focale de la caméra en perspective en millimètres.
Faut-il utiliser `Scene.use_nodes` dans Blender 5.0 ?
La documentation actuelle de l’API indique que cette propriété est obsolète depuis Blender 5.0 et que sa définition est sans effet. Il est recommandé d’utiliser `scene.render.use_compositing` pour activer ou désactiver la composition.


