Blender To Godot 4 Pipeline Addon
Overview
This add-on works in the following way:
- Install the Blender Addon from this package (.zip file) in Blender
- Install the "Blender-Godot Pipeline" addon from the Godot AssetLib in your Godot project
- Use the addon to set custom properties to objects and meshes inside Blender. This creates "import instructions" for the GLTF file when it is imported into Godot
- Set up the Scene Import script, GLTFImporter.gd, on the Godot side*
- Export as a GLTF file OR save as a .blend file (new feature in v2.2)
-
Drag GLTF or .blend file into your scene. This creates the original node (this has the link to the GLTF file import) and an _Imported node which contains all of the changes from the addon.
* see Set the Default Scene Importer in your Godot Project below
You're done!
This allows you to quickly re-iterate on your scene in Blender without having to do much manual work in Godot. The aim of the add-on is to reduce 3D workflow burden.
Setup in Blender
Find the zip file from the downloaded files, and inside Blender hit Edit -> Preferences -> Add-ons -> Install.
Then click the checkbox on the left of "Object: Godot Pipeline":
Using the Addon
In general, you press the N key, and you will find the addon in object mode:
The addon is complex to use, so I would suggest you watch any of the tutorial videos I have put on YouTube.
Exporting your Scene
As of version 1.2, the new "Export" button takes care of all of this for you. I have hand crafted a set of GLTF export properties from Blender that work really well with this pipeline workflow.
Alternatively, just use .blend file importing in Godot (save your blender file in Godot).
Drawbacks to using .blend File Importing
.blend file importing is very convenient, but it has two issues:
- You can't control the export options from Blender (like only export visible, for example)
- It tends to be slower, because Godot is calling blender's python API through the command line
Consider these tradeoffs when using it.
Setup in Godot
Search for "Blender-Godot Pipeline" in the Asset Library, and download it:
Then the import files automatically come into your game:
Set the Default Scene Importer in your Godot Project
(Old Method) Attach the Importer to your GLTF File:
Find the GLTF file which you want to import, click on it, and then see the "Import" tab in the top left. Find the "GLTFImporter.gd" script and attach it.
When you reload the GLTF (you can re-trigger a reload by exporting from Blender or saving the .blend file), the import script will automatically run.
Drag into Scene
Once the import script has ran (you will see entries in the console), you can drag the GLTF file into your scene to create a Node3D:
At this point you should see all your collisions and custom properties set in the level_01_Imported node.
There is also a hidden node, with a script on it, called level_01 - this contains the original link to the GLTF file and allows hot reloading to work. Delete this node when you want to turn off hot reloading.