(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!

  • MJBrune@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Eh csg isn’t for production. It’s for level blockout. It’s high cost in a few ways and is rather just model it. I might in fact model out an example level first entirely in blender so I know what my generation should aim for.