Is Blender to Godot the most effective for 3D map building?

Godot Version

4.7.stable

Question

So I have on several occasions tried to use Gridmap to build maps in Godot before, and it usually ends up with me pulling my hair out because of how little ability for customization it has. Like for basic block aesthetic its fine but as soon as i want it to look better or have even the slightest bit of complexity it immediately falls apart for me.

So since I have more knowledge of Bender I just model out the game play area in there and then import it to Godot to varying degrees of success, though I again was at the crossroads for this and I’m confused because its pretty hard to find information about workflows and how to create levels in 3D anyway.

Does anybody know of more 3D map building information and what the best tools are for the job?
If you also have info on workflows and stuff that would be greatly appreciated!

There’s a few ways that I know of:

  • Using CSG nodes for prototyping level geometry
    • Good for initial testing and quick’n’dirty changes
  • Importing 3D meshes built in third-party modelling software (e.g. Blender)

You could argue that making a prototype level using CSG nodes, and then polishing the level later in Blender is the better workflow. However, it’s just as easy to use Blender from the get-go given Godot’s capability to configure the way files are imported – both out-of-the-box and through import plugins.

Without ever needing to hit export in Blender, Godot will automatically import the model data and construct a somewhat appropriate node tree for it if you include the Blender file in your project. Whenever changes occur in the original Blender file, Godot updates the model automatically.


I’m paraphrasing here, but when Blender Studios tried to make a game they opted to use a different workflow involving the extensive use of glTf model files over Godot’s “automated pipeline” because they were working in a larger team (see Blender’s blog post). They even went so far as to develop custom Godot and Blender tooling to handle collection instance referencing to make sure the data stayed consistent between the programs.

Personally, I’ve just used Godot’s built-in suffix modifiers, along with my own import script, to configure how the model is built when imported. It works pretty well. There are some minor workflow annoyances on the Blender side; suffixes are slow to type which makes the level creation process a little tedious at times – but hey, it works.

I saw a Blender plugin recently that’s supposed to improve on this workflow (setting object node types, linking objects etc.).


Ultimately, the best 3D level creation workflow depends on how you like to work, but I’d say Godot’s automated system with .blend files is a good starting point.

Here’s some helpful links to get you started: