Addon for Blender to directly export to a Godot Scene

Lu Jiacheng 2394c7a371 Merge pull request #421 from widiba03304/master 1 year ago
.github 66f3d73ee6 create issue template 6 years ago
io_scene_godot 2db443a23a fix use_inherit_scale deprecation 1 year ago
tests eaf80e476a Store the draw type when exporting empty nodes 3 years ago
.gitignore 1f1b15ce39 add animation export option 7 years ago
.pylintrc 3f89937418 initial commit for blender 2.80 support 6 years ago
.travis.yml 0619f241ee Add script to generate a scene diff for a failed regression test (#384) 4 years ago
Dockerfile 346d601515 [-] Upgrade Python for test Docker image to 3.6 4 years ago
LICENSE.txt d5b6588f27 Include a copy of the GPLv2 instead of the GPLv3 7 years ago
Makefile 0a662248ad Fix make update-examples. 4 years ago
README.md 881e8da6dd Fix small typo in instructions (#402) 4 years ago
install.png cffee6be46 Add installation details and Blender compatibility to README (#358) 4 years ago
requirements.txt 0ed69c1df4 Update pylint to 2.5.3 4 years ago

README.md

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

  1. Copy the io_scene_godot directory to the location where Blender stores the scripts/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 as 2.83 or 2.91 - don't include the letter or patch number if there is one). See Blender directory layout for more information.
  2. Go to the Blender settings and enable the "Godot Exporter" plugin. Enabling the add-on in the Blender user preferences
  3. 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:

  1. 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 the tests/scenes directory that uses this feature.
  2. Runs diff on the output files compared to the reference exports. This acts as a regression test.
  3. 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 a make 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.