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.
I've constantly been finding -col and -loop really useful.
I'll be working on level generation for a rogue-like in 3D and I am wondering if I should try to create the entire room in blender or simply create pieces like 3m by 3m walls that snap together to create the rooms in godot... I feel like I could generate more things by keeping it pieces in godot but performance is a concern.
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.
@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.