In diesem Video, erstellt mit Blender Version 4.2, zeige ich euch ein paar Python-Skripte, mit denen ihr den Inhalt einer Blender-Szene für alle in einem Ordner verfügbaren Blender-Dateien als FBX exportieren könnt, einschließlich Textures.


Für dieses Tutorial ist keine Deutsche Tonspur verfügbar. Unten kannst du das Video mit Englischer Tonspur und Untertiteln auf Deutsch, Englisch und in weiteren Sprachen ansehen. Unter dem Video findest du die ins Deutsche übersetzte Transkription.


Videotranskript

Hallo zusammen! In diesem Video, erstellt mit Blender Version 4.2, zeige ich euch ein paar Python-Skripte, mit denen ihr den Inhalt einer Blender-Szene für alle in einem Ordner verfügbaren Blender-Dateien als FBX exportieren könnt, einschließlich Textures.

Es gibt zwei Skripte, weil das erste Skript den Export für die Datei übernimmt, auf der es ausgeführt wird, während das zweite Skript das erste für alle Blender-Dateien im Ordner ausführt.

Ich habe diese Skripte für einen bestimmten eigenen Bedarf erstellt, und mir ist klar, dass es sich um einen sehr speziellen Fall handelt. Das Tutorial lässt sich jedoch auf andere Fälle erweitern, weil es tatsächlich zeigt, wie man ein Skript ausführt und ihm Parameter übergibt, ohne Blender überhaupt öffnen zu müssen. Daher könnt ihr diese Methode auch mit anderen Operatoren und Tools verwenden als dem in diesem Fall genutzten!

Konkret ist es möglich, den Inhalt einer blend-Szene mit der Funktion export scene fbx aus dem operators-Modul in eine FBX-Datei zu exportieren, indem man den Namen der Zieldatei und weitere Parameter angibt, wie es in der Dokumentation zu diesem Operator im Blender manual beschrieben ist.

Was mich am meisten interessiert, ist, auch die Textures der Materialien der Modelle zu exportieren, indem die Embedded-Option mit aktiviertem Copy-Modus verwendet wird, wie ich es in meinem Tutorial zum Exportieren von Modellen nach FBX mit Texturen erklärt habe.

Die beiden Parameter, die wir zusätzlich zum Namen der Zieldatei angeben müssen, sind Path Mode, der auf Copy gesetzt werden muss, und embed textures, das auf True gesetzt werden muss.

Der Funktionsaufruf im Skript export embedded fbx lautet daher: bpy.ops.export_scene.fbx(filepath = sys argv -1, path mode='COPY', embed textures = True).

Dies ist nach dem Import der Module bpy und sys die einzige Anweisung, die in die Datei export_embedded_fbx.py aufgenommen werden muss. Der Dateiname ist derjenige, der dem Skript als Parameter übergeben wird, während Path Mode und Embed Textures es ermöglichen, die als Textures verwendeten Bilder innerhalb der FBX-Datei zu speichern.

Wenn wir dieses Skript für eine einzelne blend-Datei ausführen wollten, müssten wir im Terminal nur den folgenden Befehl schreiben:

blender filename.blend --background --python export_embedded_fbx.py -- filename.fbx

Ich möchte dieses Skript jedoch für alle Blender-Dateien im Ordner ausführen, und das können viele sein, daher möchte ich die Dateinamen nicht jedes Mal manuell ersetzen!

Wir benötigen also ein weiteres Skript oder eine Batch-Datei, die diesen Befehl für jede Blender-Datei ausführt, die sie im aktuellen Ordner findet.

Eine einfache Lösung besteht darin, die folgenden Anweisungen in eine weitere Python-Datei zu schreiben, die wir zum Beispiel batch export embedded fbx nennen.

Nachdem wir die Module os und subprocess importiert haben, die wir benötigen, um auf die Dateien auf dem Datenträger zuzugreifen und das andere Python-Skript zu starten, rufen wir den Pfad des aktuellen Ordners ab und speichern ihn in der Variable script dir.

Sobald das erledigt ist, erhalten wir eine Liste aller Blender-Dateien, die im aktuellen Ordner verfügbar sind.

An diesem Punkt starten wir eine Schleife, die für jede Blender-Datei in der Liste das Python-Skript export embedded fbx ausführt und ihm sowohl den aktuellen Blender-Dateinamen als auch den Namen der Ausgabedatei mit dem Suffix EMBEDDED und der Erweiterung .fbx übergibt.

Nachdem beide Dateien auf dem Datenträger gespeichert wurden, müssen wir nur noch das Python-Skript batch export embedded fbx ausführen, um das gewünschte Ergebnis zu erhalten.

Gut, ich hoffe, dieses kurze Video war hilfreich! Bis bald!

Tutorials durchsuchen

Geben Sie eine Suchphrase oder mehrere durch Kommas getrennte Schlüsselwörter ein.

3D-Modelle, Tutorials und Ressourcen zur Computergrafik von Francesco Milanese. Nutzungslizenzen für die 3D-Modelle können über die auf den jeweiligen Seiten verlinkten externen Shops zu den jeweils geltenden Lizenzbedingungen erworben werden. Francesco Milanese — Italienische Umsatzsteuernummer (Partita IVA): 06321250877. Kontakt: info@francescomilanese.com


ERWEITERTE DATENSCHUTZ- UND COOKIE-VERWENDUNGSRICHTLINIEN