Giter Club home page Giter Club logo

godot-blender-exporter's Introduction

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.

godot-blender-exporter's People

Contributors

jason0214 avatar sdfgeoff avatar akien-mga avatar calinou avatar timjklein36 avatar williangalvani avatar sonnybonds avatar epth avatar tjpalmer avatar twilson90 avatar wagnerfs avatar williamtambellini avatar addixff avatar carrascomj avatar mourning20s avatar scurest avatar xphlawlessx avatar fopor avatar reduz avatar josephhalter avatar henrywconklin avatar fx21 avatar ben1138 avatar antoni4040 avatar andreacatania avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.