(For TL:DR just read the docs)

So you might know Godot has the ability to import blender files directly. (If not, well now you know!) This is nice, but I was trying to make some large levels and I found the workflow less than ideal. The import dialogue is a bit clunky, so it’s hard to specify what objects have collision if there’s a lot of objects.

Import hints help a lot. Basically, in blender, for each object you want to have collision, you can append -col or -convcol to the end of the object name and Godot will add it automatically!

You can use -colonly or -convcolonly to make the geometry only import as collision. This isn’t even limited to geometry - you can add it to empty objects and it will create primitive collision shapes.

-noimp can also be used to simply skip importing an object. I actually found a really cool workflow tip with this: Lets say you have a large level file, and maybe you want to split it up into multiple .blend files for organization or convenience. (For me, it was due to lightmaps. I wanted to separate far detail so I could lower the lightmap resolution.) In Blender, for each file, you can go to File->Link, select the other blend file, and add its main collection containing everything else. Then, add -noimp to that linked collection. Now, you can view the entire level in blender but Godot will keep them all separate on import!

There’s a few other hints and I recommend you check out the documentation for all the details.

Hopefully some of you found this useful!

  • flaeky pancako@prsm.space
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    @julianh i am confused , when they mention adding in a linked collection and appending -noimp to the collection , are they saying that all the objects in that collection will be ignored? i was under the impression that import hints only work for object names, but if they also work for collection names for all children in a collection that would be a huge time saver.

    • Julian@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      For me -noimp works for the collection but I need to test more to see if all hints work for collections.