Godot Engine's native Blender exporter add-on.
Native Godot scene format exporter for Blender, making the export process to Godot Engine as straightforward as possible.
Warning: This exporter is experimental, and still lacks many features. If you need a full-featured import-export pipeline, consider using glTF 2.0 instead. (The glTF 2.0 exporter is built into Blender.)
Blender compatibility: The current master
branch requires at least Blender 2.80.
Installation
- Copy the
io_scene_godot
directory to the location where Blender stores thescripts/addons
folder on your system. Copy the entire directory and not just its contents. For instance, on Linux, add-ons should be installed in$HOME/.config/blender/<version>/scripts/addons
(create folders as needed).<version>
should be replaced with your Blender version (such as2.83
or2.91
- don't include the letter or patch number if there is one). See Blender directory layout for more information. - Go to the Blender settings and enable the "Godot Exporter" plugin.
- Export your file with
File
->Export
->Godot Engine (.escn)
.
If you find bugs or want to suggest improvements, please open an issue on the upstream GitHub repository.
Usage
See the documentation included in the official Godot documentation.
Development Notes
This repository includes a Makefile to assist with development. Running
make
from the project root will:
- Export all of the blend files from the
tests/scenes
directory. If you add a feature, it is suggested that you add a new blend file to thetests/scenes
directory that uses this feature. - Runs
diff
on the output files compared to the reference exports. This acts as a regression test. - Runs pycodestyle and pylint style tests. Your code must pass these to be elegible to merge.
Current regression tests use the daily build of Blender 2.8 from Blender official site and runs on ubuntu 16.04. To fix the diff test failure:
- You can run a
make export-blends
followed by amake update-examples
and commit the changes made to the reference_exports. However, if you are running on a platform different than the one used by the TravisCI, there is a small chance that regression won't be passing because of float rounding. Then you might need to look at the TravisCI log and fix the remaining issue by hand. - Or you can use the update_scene_from_travis.sh script, run it with the failing TravisCI job ID as the argument. The script will fetch the scene diffs from the Travis machine to your local git repository and apply it.
Docker
The reference exports depend on a very specific version of Blender, and may produce different results with your local blender version. A Dockerfile is provided to help test and update examples:
To build:
sudo docker build . -t godot_blender_exporter:latest
To test:
docker run --volume `pwd`:/workdir godot_blender_exporter:latest compare
To update reference exports:
docker run --volume `pwd`:/workdir godot_blender_exporter:latest export-blends update-examples
License
This Godot exporter is distributed under the terms of the GNU General Public License, version 2 or later. See the LICENSE.txt file for details.