Blender Skript um .fbx Dateien zu importieren

  • Hallo,

    ich habe ein Python Skript für Blender um alle .fbx Dateien zu importieren.

    Dies wollte ich jetzt erweitern sodass die Unterordner auch mit ausgelesen werden und dafür Collectionen erstellt werden wo die .fbx Dateien dann einkommen.



    Das Script läuft ohne Fehlermeldung durch, importiert aber nur die .fbx files aus dem fbx_folder Pfad .
    Die Unterordner werden weder als Collection erstellt noch deren Inhalt importiert.

    ich vermute das es an os.path.isdir in Zeile 39 liegt. Habe Ewigkeiten nach eine Funktion gesucht die einen Ordner ausgibt.

    Weiß auch nicht ob ich die 100% richtig eingebunden habe.


    Könnte sich das Skript mal jemand anschauen der etwas Ahnung davon hat?


    MfG


    • Offizieller Beitrag

    Probier mal dass hier:



    Zeile 31.:


    Code
        file_path = os.path.join(fbx_folder, fbx_file)


    Das ist kein folder sondern ein Subfolder deswegen statt fbx_folder durch sub_path ersetzen.


    Zeile 43:

    Code
     bpy.context.scene.collection.children.link(myCol)


    Du willst die fbx Datei zu einer Collection hinzufügen deswegen


    statt

    Code
    bpy.context.scene.collection.children.link(myCol) 


    durch

    Code
    myCol.objects.link(fbx)


    ersetzen.

  • Das funktioniert soweit schonmal so wie ich es mir Vorgestellt habe, vielen dank dafür.

    Die Collectionen werden mit dem Richtigen Namen erstellt.

    Die FBX Files werden auch in der jeweiligen Collection Importiert,

    aber die FBX Files aus den Unterordnern werden auch als Double ohne Collection Importiert, das Problem hatte ich gestern beim aufsetzen des Skriptes auch schon gehabt, deswegen ganz zum Schluss die Unlink Funktion, aber ich glaube da ist noch ein Denkfehler bei mir.


  • hab nen Workaround gefunden, bin aber nicht zufrieden damit.

    Ich lösche den Cube ec. und nutze die Default Collection um dort die subfiles zu unlinken. damit sind die doppelten Einträge weg.
    aber die Files vom Hauptordner sind jetzt in der Default Collection. wenn ich die Unlinke sind sie ganz weg.


    muss am besten die
    Default Collection auch löschen , ist eh Mist das ich die mit direkten Namen abgreife.
    die Subcollectionen jeweils als Aktiv setzen, um mir das unlink direkt zu ersparen.


  • für den fall das noch wer danach sucht.
    hier ist das voll funktionierende Skript. Blender Version 3.6.5

    hab auch ne Variable hinzugefügt wenn man nicht alles erst löschen will.