Kurz gesagt
- Über `scene.camera` greifen Sie auf die aktive Kamera zu und können den Objektivwert ändern.
- Das Drittelraster lässt sich mit der Eigenschaft `show_composition_thirds` der Kameradaten aktivieren.
- Der Animationsbereich wird über die Eigenschaften `frame_start` und `frame_end` festgelegt.
- Seit Blender 5.0 ist `scene.use_nodes` veraltet; zum Aktivieren des Compositings sollte `scene.render.use_compositing` verwendet werden.
Was Sie in diesem Leitfaden lernen
Die Kamera- und Timing-Einstellungen einer Architekturvisualisierungsszene in Blender über die Python-API zu verwalten, hilft dabei, einen reproduzierbaren Workflow aufzubauen. In diesem Leitfaden zeigen wir, wie Sie die aktive Kamera finden, die Brennweite ändern, das Bildraster einblenden und Anfangs- sowie Endframe einer Animation festlegen. Im letzten Abschnitt geht es darum, einen kürzeren Vorschauzeitraum einzustellen und häufige Fehler zu prüfen.
Die Beispiele basieren auf den in der aktuellen Blender-API-Dokumentation beschriebenen Eigenschaften von Scene und Camera. Ziel ist nicht, sämtliche Render-Einstellungen zu automatisieren, sondern grundlegende Entscheidungen zu Bildausschnitt und Zeitbereich kontrolliert in der Szene umzusetzen.
Voraussetzungen
Führen Sie die Beispiele in einer Umgebung aus, in der die Python-API von Blender verfügbar ist. Die Codebeispiele setzen voraus, dass das Modul bpy und der Kontext der aktiven Szene in Blender bereitstehen. Laut Dokumentation lässt sich über bpy.context.scene auf die Szene zugreifen; die aktive Kamera der Szene ist in der Eigenschaft scene.camera hinterlegt.
Es handelt sich um die aktuelle API-Dokumentation. Für Scene.use_nodes wird außerdem angegeben, dass die Eigenschaft seit Blender 5.0 veraltet ist und voraussichtlich in Version 6.0 entfernt wird. Da dieser Leitfaden keine Compositing-Nodes einrichtet, wird die Eigenschaft in den Beispielen zu Kamera und Frame-Bereich nicht benötigt. Die Quellen nennen keine Anforderungen an ein Konto.
Es empfiehlt sich, vor der Umsetzung eine Kopie der Projektdatei anzulegen und die Werte zunächst in einer kleinen Testszenen auszuprobieren. So lässt sich vermeiden, dass bestehende Szeneneinstellungen versehentlich geändert werden – insbesondere in Projekten mit unterschiedlichen Kamerakonfigurationen oder Animationsbereichen.
1. Aktive Kamera prüfen
Prüfen Sie zunächst, ob in der Szene eine aktive Kamera ausgewählt ist. Scene.camera gibt die aktive Kamera an, die für das Rendering verwendet wird. Der folgende Code gibt den Namen der Kamera aus, sofern eine vorhanden ist. Andernfalls meldet er, dass der Szene keine aktive Kamera zugewiesen ist. Diese Prüfung schafft eine sichere Grundlage, bevor Sie in den weiteren Beispielen auf Kameradaten zugreifen.
scene = bpy.context.scene
camera = scene.camera
if camera is None:
print("Sahnede aktif kamera yok.")
else:
print("Aktif kamera:", camera.name)Dass eine Kamera in der Szene vorhanden ist, bedeutet nicht automatisch, dass sie als aktive Kamera ausgewählt wurde. Über scene.camera greift der Code nur auf die aktive Kamera zu. Falls keine Kamera gefunden wird, legen Sie zunächst fest, welche Kamera in der Szene verwendet werden soll, bevor Sie Objektiv- und Bildeinstellungen ändern.
2. Objektivwert und Bildraster einstellen
Die Kameraeinstellungen befinden sich im Kameradatenblock, auf den Sie über camera.data zugreifen. Bei einer perspektivischen Kamera gibt lens die Brennweite in Millimetern an. Der in der Dokumentation genannte Standardwert beträgt 50,0 mm; in diesem Beispiel wird der Wert auf 35,0 mm gesetzt. Dabei handelt es sich um eine numerische Änderung über die API, die kein bestimmtes architektonisches Ergebnis garantiert. Prüfen Sie das Bild und wählen Sie einen passenden Wert.
scene = bpy.context.scene
camera = scene.camera
if camera is not None:
camera.data.lens = 35.0Um das Drittelraster in der Kameraansicht zu verwenden, können Sie die Eigenschaft show_composition_thirds im selben Datenblock aktivieren. Das Raster hilft dabei, die Platzierung von Elementen im Bildausschnitt zu beurteilen. Es verändert weder die Geometrie noch die Kameraposition automatisch.
scene = bpy.context.scene
camera = scene.camera
if camera is not None:
camera.data.show_composition_thirds = TrueWenn das Raster nicht angezeigt wird, prüfen Sie, ob Sie sich in der Kameraansicht befinden und die aktive Kamera ausgewählt ist. Die Eigenschaft gehört laut API zu den Einstellungen für Kompositionshilfen der Kamera. Die Dokumentation führt auch mittige, goldene und weitere Kompositionshilfen auf. Dieses Beispiel beschränkt sich auf das Drittelraster zur Beurteilung des architektonischen Bildausschnitts.
3. Frame-Bereich der Animation festlegen
Anfang und Ende des Wiedergabe- und Renderbereichs einer Szene werden über die Eigenschaften frame_start und frame_end festgelegt. Das folgende Beispiel setzt den Bereich auf Frame 1 bis Frame 120 und stellt den aktuellen Frame auf den Startframe. Die Werte dienen als Beispiel und sollten an die Länge Ihrer Animation angepasst werden.
scene = bpy.context.scene
scene.frame_start = 1
scene.frame_end = 120
scene.frame_set(scene.frame_start)frame_set() aktualisiert beim Einstellen des aktuellen Frames auch Objekte und View Layers. Sie können diese Methode daher verwenden, um den Frame der Szene zu aktualisieren, statt lediglich eine Frame-Nummer in einer Variablen zu speichern. Laut API-Dokumentation akzeptiert frame_set() auch einen Subframe-Wert. In diesem Leitfaden beschränken wir uns auf die grundlegende Verwendung mit ganzen Frames.
Für Vorschauen lässt sich zusätzlich zum Hauptbereich ein eigener Start- und Endbereich festlegen. Die Eigenschaft use_preview_range bestimmt, ob der alternative Bereich verwendet wird; frame_preview_start und frame_preview_end legen dessen Grenzen fest.
scene = bpy.context.scene
scene.use_preview_range = True
scene.frame_preview_start = 20
scene.frame_preview_end = 40In diesem Beispiel umfasst der Vorschauzeitraum die Frames 20 bis 40. Laut API-Beschreibung kann der alternative Bereich für die Animationswiedergabe und Viewport-Renderings verwendet werden. Das ist hilfreich, wenn Sie den Hauptanimationsbereich nicht ändern möchten. Prüfen Sie in der Szene, ob der Vorschauzeitraum wie erwartet angewendet wird.
Häufige Fehler
Übersehen, dass keine aktive Kamera ausgewählt ist: Ist
scene.cameraleer, können Sie nicht auf den Kameradatenblock zugreifen. Führen Sie zunächst die Prüfung aus dem ersten Beispiel aus.Die Einstellung am falschen Objekt suchen: Objektiv und Kompositionshilfe befinden sich im Bereich
datades Kameraobjekts. Der Frame-Bereich gehört zu den Szeneneigenschaften.Den Vorschauzeitraum mit dem Hauptbereich verwechseln:
frame_preview_startundframe_preview_endsind von den Hauptwertenframe_startundframe_endgetrennt. Prüfen Sie auch, obuse_preview_rangeden alternativen Bereich aktiviert.Eine veraltete Compositing-Einstellung verwenden: Laut Dokumentation ist
Scene.use_nodesseit Blender 5.0 veraltet, Änderungen daran haben keine Wirkung und die Entfernung in Version 6.0 ist geplant. Zum Aktivieren oder Deaktivieren des Compositings sollten Siescene.render.use_compositingverwenden.Beispielwerte unverändert auf ein Projekt übertragen: 35 mm oder 120 Frames sind nicht für jede Szene die richtige Wahl. Beurteilen Sie Bildausschnitt und Animationsdauer entsprechend den Anforderungen des Projekts.
Nächste Schritte im Workflow für Architektur und Visualisierung
Diese Methode kann Visualisierungsteams helfen, die Bildausschnitt- und Timing-Einstellungen in derselben Szene wiederholt anwenden, ebenso wie Studierenden, die den Umgang mit Kameras lernen. Die kurzen Codebeispiele bieten etwa eine Grundlage, um zu einem festen Szenenbereich zurückzukehren oder die Kompositionshilfe erneut einzublenden. Sie beschleunigen jedoch nicht das Rendering und enthalten keine Angaben zu bestimmten Hardwareanforderungen. Testen Sie Änderungen bei großen Projekten zunächst auf der verwendeten Workstation und in einer Projektkopie.
Wenden Sie als nächsten Schritt die einzelnen Codebeispiele in Ihrer Szene an und überprüfen Sie Bildausschnitt sowie Frame-Bereich. Wenn Sie diese Einstellungen später in einen teamweit nutzbaren Workflow überführen möchten, sehen Sie sich die entsprechenden Objekte und Eigenschaften der Blender-API an. Für Änderungen an den Compositing-Einstellungen verwenden Sie die aktuelle API-Eigenschaft scene.render.use_compositing; schreiben Sie keinen neuen Code, der auf der veralteten Eigenschaft scene.use_nodes basiert.
Quelle und Lizenz
Dieser Leitfaden basiert auf Eigenschaften aus der Blender-API-Dokumentation zu Scene und Camera. Beide Quellen stehen unter der Lizenz CC BY-SA 4.0: bpy.types.Scene und bpy.types.Camera. Die Codebeispiele wurden für diesen Leitfaden unter Verwendung der in der Dokumentation beschriebenen API-Namen geschrieben.
Quellen
2 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
Kamera- und Timing-Einstellungen über die Blender-API zu verwalten, ist ein praktischer Einstieg – besonders für Büros, die dieselbe Szenenkonfiguration in verschiedenen Lieferungen wiederverwenden. Die Codebeispiele sind kurz und auf Szeneneigenschaften beschränkt. So lässt sich schrittweise vorgehen, bevor ein komplexes Automatisierungssystem aufgebaut wird.
Für Studierende und Visualisierungsteams in der Türkei ist vor allem wichtig, die Beispielwerte nicht als fertige Vorgaben zu übernehmen. Der Leitfaden enthält keine Angaben zur Hardwareleistung oder zu Lizenzkosten. Änderungen sollten auf der vorhandenen Workstation getestet und die Lizenzbedingungen der Projektdateien separat geprüft werden.
Häufige Fragen
Wie greift man mit der Blender-Python-API auf die aktive Kamera zu?
Über `bpy.context.scene` greifen Sie auf die aktive Szene zu, anschließend über `scene.camera` auf deren aktive Kamera. Wenn keine Kamera zugewiesen ist, kann `scene.camera` leer sein.
Wie lässt sich der Kamera-Objektivwert in Blender mit Python ändern?
Sie können die Eigenschaft `camera.data.lens` im Datenblock der aktiven Kamera setzen. Bei einer perspektivischen Kamera gibt diese Eigenschaft die Brennweite in Millimetern an.
Sollte man `Scene.use_nodes` in Blender 5.0 verwenden?
Laut aktueller API-Dokumentation ist diese Eigenschaft seit Blender 5.0 veraltet und Änderungen daran haben keine Wirkung. Zum Aktivieren oder Deaktivieren des Compositings wird `scene.render.use_compositing` empfohlen.


