Neueste Meldungen
Rhino 8: Ansichten speichern und passende Screenshots erstellenBlender Grease Pencil Line Art: Leitfaden für Linien in ArchitekturszenenBlender-Python-Add-on schreiben: Den ersten Operator erstellenArchitekturvideos mit der Gemini API analysieren: Schritt-für-Schritt-AnleitungTripo P2.0 und Astra integrieren die 3D-Asset-Erstellung in den Blender-WorkflowSauberere Renderings mit Blender Cycles: Sampling- und Denoising-EinstellungenMSI XpertStation WS300 im Test: GB300 bringt KI-Leistung auf den DesktopWettbewerb für Planung und Bauaufsicht des Limassol Arts Centre angekündigtBlender EEVEE: Leitfaden zu Raytracing, Fast GI und MaterialeinstellungenEuropäischer Preis für gemeinschaftliches Wohnen: Zwei Projekte aus Paris ausgezeichnet
TutorialsBlender

Blender-Python-Add-on schreiben: Den ersten Operator erstellen

Das offizielle Blender-Handbuch zeigt, wie Python-Kenntnisse dazu genutzt werden, ein Skript in einen Operator und ein Add-on umzuwandeln. Diese Anleitung erläutert die grundlegenden Schritte anhand eines Beispiels, das Objekte in der Szene entlang der X-Achse bewegt.

Eine Szene in einem Arbeitsbereich für Architekturvisualisierung, die an die Entwicklung eines Python-Add-ons erinnertKI-Bild
Symbolbild, mit KI erzeugt.Bild: 3dsınıfı / FCA AI

Kurz gesagt

  1. Ein Blender-Add-on ist ein Python-Modul mit zusätzlichen Angaben, anhand derer Blender es erkennen und auflisten kann.
  2. Der Beispieloperator verschiebt alle Objekte in der aktiven Szene um 1 Einheit entlang der X-Achse.
  3. Das Add-on lässt sich im Blender-Texteditor testen und als .py-Datei laden.
  4. Das Handbuch empfiehlt Kenntnisse der Blender- und Python-Grundlagen sowie der Konzepte Modul und Klasse.

Was lernen Sie in dieser Anleitung?

In dieser Anleitung wandeln Sie ein einfaches Python-Skript für Blender zunächst in einen Operator und anschließend in ein ladbares Add-on um. Das Beispiel-Tool bewegt alle Objekte in der aktiven Szene um 1 Einheit entlang der X-Achse. Ziel ist nicht, ein fertiges Produktionswerkzeug bereitzustellen, sondern Schritt für Schritt zu erklären, wie Blender Operatoren definiert, registriert und ausführt.

Ein Add-on ist ein Python-Modul mit zusätzlichen Angaben, die Blender benötigt, um es zu erkennen und in seiner Liste anzuzeigen. Das Wörterbuch bl_info enthält unter anderem Informationen wie den Namen und die Kategorie des Add-ons sowie die niedrigste erforderliche Blender-Version. Ein Operator macht eine Aktion innerhalb von Blender aufrufbar. In diesem Beispiel starten wir die Aktion über die Operatorsuche.

Wichtig: Das Beispiel wirkt sich nicht nur auf ausgewählte Objekte aus, sondern auf alle Objekte in der aktiven Szene. Testen Sie es daher besser in einer Testszenen oder einer Dateikopie und nicht in einem wichtigen Projekt.

Voraussetzungen

Sie sollten Blender grundlegend bedienen und ein Skript im Texteditor ausführen können. Grundkenntnisse in Python, etwa zu Zahlen, Booleans, Strings, Listen, Tupeln, Dictionaries und Sets, sind ebenfalls empfehlenswert. Das Handbuch rät außerdem zu grundlegenden Kenntnissen über Python-Module und -Klassen.

In den Add-on-Informationen des Beispiels ist die Blender-Version als (2, 80, 0) angegeben. Dieser Wert bezeichnet die im Beispiel-Metadatum angegebene Mindestversion; er bedeutet nicht, dass der Code auch mit aktuellen Blender-Versionen getestet wurde. Prüfen Sie das API-Verhalten daher in der von Ihnen verwendeten Version. Anforderungen an ein Benutzerkonto, bestimmte Hardware oder eine kostenpflichtige Lizenz werden nicht genannt.

Eine Möglichkeit zur Fehlersuche besteht darin, Blender über das Terminal zu starten. Laut Handbuch kann es auch den Entwicklungsprozess unterstützen, in den Einstellungen die Entwickler-Extras zu aktivieren.

Schritt für Schritt: Den ersten Operator schreiben

1. Den Code in den Texteditor einfügen

Im folgenden Beispiel definiert die Klasse ObjectMoveX den Operator. Bei Ausführung von execute() werden die Objekte der aktiven Szene nacheinander verarbeitet und zu ihrer jeweiligen X-Position wird 1.0 addiert. Die Option UNDO in bl_options ermöglicht die Verwendung des Operators mit der Rückgängig-Funktion.

python
bl_info = {
    "name": "Move X Axis",
    "blender": (2, 80, 0),
    "category": "Object",
}

import bpy

class ObjectMoveX(bpy.types.Operator):
    """My Object Moving Script"""
    bl_idname = "object.move_x"
    bl_label = "Move X by One"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        scene = context.scene
        for obj in scene.objects:
            obj.location.x += 1.0
        return {'FINISHED'}

def register():
    bpy.utils.register_class(ObjectMoveX)

def unregister():
    bpy.utils.unregister_class(ObjectMoveX)

if __name__ == "__main__":
    register()

Dieses einfache Beispiel registriert die Operator-Klasse, fügt aber kein Benutzeroberflächenelement zu einem Menü hinzu. unregister() entfernt außerdem die registrierte Klasse. bl_idname legt die eindeutige ID des Operators fest, während bl_label den Namen angibt, der in der Blender-Oberfläche und bei der Suche angezeigt wird. Bei erfolgreicher Ausführung gibt die Funktion execute() das Ergebnis FINISHED zurück.

2. Das Skript ausführen und den Operator aufrufen

Fügen Sie den Code in den Blender-Texteditor ein und führen Sie ihn aus. Das Skript registriert den Operator; die Objekte werden dabei noch nicht automatisch bewegt. Öffnen Sie anschließend die Operatorsuche, suchen Sie nach Move X by One und führen Sie den Operator aus. Die Aktion verschiebt alle Objekte in der aktiven Szene um 1 Einheit entlang der X-Achse.

Es ist wichtig, den Parameter context in execute(self, context) zu verwenden. Blender kann Operatoren unter bestimmten Umständen mit einem speziellen Kontext ausführen. Das Handbuch empfiehlt deshalb, statt direkt auf einen globalen Kontext zuzugreifen, den an den Operator übergebenen Wert context zu verwenden.

3. Als Datei speichern und als Add-on laden

Speichern Sie das getestete Skript als Datei. Wählen Sie einen Dateinamen, der sich als Python-Modul verwenden lässt, und fügen Sie die Erweiterung .py hinzu. Öffnen Sie in den Blender-Einstellungen im Bereich „Add-ons“ die Ladeoption, wählen Sie die Datei aus und aktivieren Sie das Add-on in der Liste. Wenn es auch nach einem Neustart aktiviert bleiben soll, können Sie die im Handbuch beschriebene Option „Save as Default“ verwenden.

Beim Aktivieren des Add-ons führt Blender das Modul aus und nimmt die Registrierungen in register() vor. Beim Deaktivieren ruft Blender dagegen die Funktion unregister() auf; im Beispiel wird dadurch die Operator-Klasse entfernt. Während der Installation können Quell- und Zielordner in der Konsole angezeigt werden. Das Handbuch erläutert auch, wie sich Add-on-Pfade in der Python-Konsole mit addon_utils.paths() anzeigen lassen.

Einsatz im Architektur- und Visualisierungs-Workflow

Das Beispiel zeigt die grundlegende Idee, wiederkehrende Aufgaben in Blender für Technical Artists oder Entwickler in Operatoren umzuwandeln. In Architekturszenen kann ein ähnlicher Ansatz als Ausgangspunkt für individuelle Tools dienen, die klar definierte und wiederholt ausgeführte Aufgaben übernehmen. Dieser Code ist jedoch kein direkt einsatzbereites Büro-Tool für Produktionsszenen: Er verändert die Position aller Objekte in der aktiven Szene.

Verwenden Sie für den ersten Test eine Szenenkopie und prüfen Sie, auf welche Objekte sich der Operator auswirkt. Bevor Sie das Add-on im Team teilen, sollten Sie die Zielversion von Blender und die Kompatibilität der verwendeten API-Elemente gesondert überprüfen. Die Quelle nennt keine bestimmten Hardwareanforderungen; daraus lassen sich daher keine Hardwareempfehlungen ableiten. Auch Lizenzbedingungen und Versionskompatibilität sollten vor der Weitergabe geprüft werden.

Häufige Fehler

  • Erwarten, dass sich die Objekte direkt nach dem Ausführen des Skripts bewegen: Beim ersten Ausführen wird der Operator registriert. Um die Objekte zu verändern, müssen Sie Move X by One über die Operatorsuche auswählen.

  • Den Wirkungsbereich übersehen: Der Code ist nicht auf ausgewählte Objekte beschränkt, sondern verarbeitet alle Objekte in der aktiven Szene.

  • Das Dateiformat vergessen: Speichern Sie die Add-on-Datei mit der Erweiterung .py und wählen Sie einen Namen, der als Python-Modul verwendet werden kann.

  • Speichern und Aktivieren für denselben Vorgang halten: Das Speichern der Datei allein aktiviert das Add-on nicht. Die Datei muss über die Einstellungen geladen und in der Liste aktiviert werden.

Nächste Schritte

Führen Sie das Beispiel zunächst in einer Testszenen aus und beobachten Sie das Ergebnis des Operators. Sehen Sie sich anschließend die Aufgaben von bl_info, der Operator-Klasse, execute() und den Registrierungsfunktionen einzeln an. Als nächsten Entwicklungsschritt können Sie untersuchen, wie sich feste Werte in vom Benutzer einstellbare Operator-Eigenschaften umwandeln lassen. Im weiteren Verlauf des Blender-Handbuchs werden dieses Thema und ein weiteres Beispiel zum Erzeugen verknüpfter Objektkopien behandelt.

Wenn Fehlermeldungen auftreten, kann die Konsolenausgabe von Blender dabei helfen, den Schritt zu finden, in dem das Problem entsteht. Der API-Überblick von Blender sowie die Dokumentation zu bpy.context und bpy.types.Operator zählen zu den Referenzen, auf die das Handbuch für eine ausführlichere Beschäftigung mit den verwendeten Konzepten verweist.

Quelle und Lizenz

Diese Anleitung wurde auf Grundlage des Add-on- und Operator-Beispiels aus dem offiziellen Blender-Dokument „Add-on Tutorial“ ins Türkische übertragen und angepasst. Die Quelle steht unter der Lizenz CC BY-SA 4.0.

Quellen

1 Quelle
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html
Zusammenfassung

Quelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.

Die Einschätzung von 3dsınıfı
3dEinschätzung der Redaktion

Wiederkehrende Szenenarbeiten in kleine Tools für Blender umzuwandeln, ist für Architekturbüros und Technical Artists mit Python-Kenntnissen ein sinnvoller Einstieg. Das Beispiel hat jedoch einen großen Wirkungsbereich: Es bewegt alle Objekte in der Szene. Testen Sie es deshalb zunächst in einer Kopie und legen Sie beim Anpassen für ein echtes Projekt genau fest, welche Objekte der Operator beeinflussen soll.

Die Quelle nennt weder bestimmte Hardwareanforderungen noch Kosten. Entscheidend sind hier die Blender-Version, für die das Add-on vorgesehen ist, die API-Kompatibilität und die Art der Verteilung im Team. Für Studierende besteht der wichtigste Lerngewinn darin, zu verstehen, wie ein Python-Skript in Blender als Operator registriert und aufgerufen wird.

Häufige Fragen

Wie führt man ein Python-Add-on in Blender aus?

Führen Sie den Code im Texteditor aus, um den Operator zu registrieren. Suchen Sie anschließend in der Operatorsuche nach dem Namen des Operators und führen Sie ihn aus.

Wie lädt man ein Blender-Python-Add-on?

Speichern Sie die Datei mit der Erweiterung `.py`, laden Sie sie im Bereich „Add-ons“ der Blender-Einstellungen und aktivieren Sie sie in der Liste.

Welche Objekte bewegt das Blender-Add-on im Beispiel?

Der Beispieloperator bewegt alle Objekte in der aktiven Szene um 1 Einheit entlang der X-Achse. Er ist nicht auf ausgewählte Objekte beschränkt.

Kommentare und Forum sind auf Türkisch.Mitdiskutieren
+

Verwandte Meldungen