Godot Engine – Multi-platform 2D and 3D game engine
Go to file
RevoluPowered 0bd877780f FBX Importer Generation 3
Basic skin support

Various fixes

- Fixes bind mount id and mesh index
- Fixed duplicate nodes being created
- Prevented leak when instances being freed during re-import.
- Improved camera and light transform import
- skeleton handling and technical debt removal
- ASSIMP: bone nodes were unlinked from bones by this code
- bone_add working can distinguish between armatutes
- Updated transform to be the correct offset
- Added safety for state.root node errors
- Fixed memory leak with leaf bones
- Implemented children re-parenting for mesh template
- import_animation fixes to basic skeleton data
- Adds some more debug messages
- Fixed Godot import segfault
- Fix build failing on mono
- Clear resources we use which are no longer required after import
- Fixed bone duplication issue
- Working skeleton_bone_map which can lookup armatures properly now.
- Fixed stack being used up when mesh swapped & Fixed bone ID

Additional notes:
We use a mesh template which is a fake node to instance the initial
mesh nodes . This is to ensure the entire tree can be built.

We replace mesh node templates with the real mesh after the
skeleton is available, since this makes it ensure that the fully
built skeleton exists with all bones, all nodes, etc.

The bone stack is a stack which pops when it finds bones,
this overcomes duplicate bones with the same names.

FBX has lots of these because animation armature has bone names like bone001
and another armature will also have bone001
Fixed errors in node path assignment

Simple explanation:
- Every mesh uses a node from the stack
- Node stack was empties before completed
- Every time node not found, stack must be rebuilt to maintain correct armature order :)

Additional fixes:
- Fixes destructor in assimp
- Implements aiNode* mArmature in bone data
- Implements aiNode* mParent in bone data
- Fixes parent ID on bones.

Implemented skeleton assignment in generate_mesh_indicies

This is the only place we can safely do a lookup for the skeleton for the mesh.h
I used a pointer reference so we can pass this back out, since the skeleton assignment happens inside the function.

Added mesh re-parenting to the armature node this is a permanent feature and must be enforced, just like GLTF2 specification.

Fixed import_animation spawning tracks per skin
2019-11-05 17:54:57 +00:00
.github Delete ISSUE_TEMPLATE.md 2019-09-04 15:29:49 -03:00
core Merge pull request #33254 from SneakyFish5/update-zstd 2019-11-03 18:07:34 +01:00
doc Remove unused `editor/active` project setting 2019-11-04 14:35:46 +01:00
drivers Merge pull request #33278 from clayjohn/GLES2-depth-format 2019-11-03 07:56:38 +01:00
editor Merge pull request #33361 from codecustard/master 2019-11-05 15:54:53 +01:00
main Remove unused `editor/active` project setting 2019-11-04 14:35:46 +01:00
misc Travis: Force installing OpenJDK8 for Android SDK compatibility 2019-10-26 14:28:07 +02:00
modules FBX Importer Generation 3 2019-11-05 17:54:57 +00:00
platform Fix crash on exit or resume on iOS 13 2019-11-05 10:28:42 +01:00
scene Merge pull request #33341 from Chaosus/vs_fix_samplers 2019-11-04 19:08:43 +03:00
servers Merge pull request #33153 from raphael10241024/fix_occluder 2019-11-05 14:41:28 +01:00
thirdparty FBX Importer Generation 3 2019-11-05 17:54:57 +00:00
.appveyor.yml AppVeyor: Skip saving cache on non-master branches 2019-07-02 18:30:27 +02:00
.clang-format clang-format: Set standard for ObjC++ 2019-02-09 12:20:24 +01:00
.editorconfig Include SConstruct in .editorconfig 2019-05-26 18:49:55 +02:00
.gitattributes Git: Explicitly list binary files as such to avoid EOL change 2019-05-25 10:43:48 +02:00
.gitignore Travis CI: Test project exporting/script running in the headless editor 2019-08-20 17:35:55 +02:00
.mailmap Update AUTHORS and DONORS list 2019-10-02 20:06:03 +02:00
.travis.yml Travis: Force installing OpenJDK8 for Android SDK compatibility 2019-10-26 14:28:07 +02:00
AUTHORS.md Update AUTHORS and DONORS list 2019-10-02 20:06:03 +02:00
CHANGELOG.md Bump version to 3.1-stable \o/ 2019-03-13 17:16:00 +01:00
CONTRIBUTING.md Minor English fix 2019-04-06 18:45:02 -04:00
COPYRIGHT.txt Remove unused stb_truetype-based DynamicFont implementation 2019-10-03 01:19:02 +02:00
DONORS.md Update AUTHORS and DONORS list 2019-10-02 20:06:03 +02:00
LICENSE.txt Update copyright statements to 2019 2019-01-01 12:58:10 +01:00
LOGO_LICENSE.md Improve documentation of thirdparty code snippets 2017-05-07 11:42:37 +02:00
README.md Add Weblate badge to README.md 2019-07-06 00:22:31 -03:00
SConstruct Remove dependency on the editor directory being in the build's include path. 2019-10-10 08:57:00 +02:00
compat.py fixed building using scons with python3 2018-05-28 18:41:16 +01:00
gles_builders.py Remove trailing whitespace 2018-11-20 11:15:02 +01:00
icon.png Optimize images losslessly using `oxipng -o6 --strip all --zopfli` 2018-06-28 19:17:41 +02:00
icon.svg Use new Godot icon consistently everywhere 2017-05-17 19:53:59 +02:00
logo.png Optimize images losslessly using `oxipng -o6 --strip all --zopfli` 2018-06-28 19:17:41 +02:00
logo.svg Use new Godot icon consistently everywhere 2017-05-17 19:53:59 +02:00
methods.py fix getting correct mingw-w64 version 2019-07-26 00:04:16 +03:00
platform_methods.py Fixed short circuiting on non-Windows platforms 2018-07-30 23:55:15 +02:00
version.py Bump version to 3.2-beta 2019-11-05 13:22:05 +01:00

README.md

Godot Engine logo

Godot Engine

Homepage: https://godotengine.org

2D and 3D cross-platform game engine

Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported in one click to a number of platforms, including the major desktop platforms (Linux, Mac OSX, Windows) as well as mobile (Android, iOS) and web-based (HTML5) platforms.

Free, open source and community-driven

Godot is completely free and open source under the very permissive MIT license. No strings attached, no royalties, nothing. The users' games are theirs, down to the last line of engine code. Godot's development is fully independent and community-driven, empowering users to help shape their engine to match their expectations. It is supported by the Software Freedom Conservancy not-for-profit.

Before being open sourced in February 2014, Godot had been developed by Juan Linietsky and Ariel Manzur (both still maintaining the project) for several years as an in-house engine, used to publish several work-for-hire titles.

Screenshot of a 3D scene in Godot Engine

Getting the engine

Binary downloads

Official binaries for the Godot editor and the export templates can be found on the homepage.

Compiling from source

See the official docs for compilation instructions for every supported platform.

Community and contributing

Godot is not only an engine but an ever-growing community of users and engine developers. The main community channels are listed on the homepage.

To get in touch with the developers, the best way is to join the #godotengine IRC channel on Freenode.

To get started contributing to the project, see the contributing guide.

Documentation and demos

The official documentation is hosted on ReadTheDocs. It is maintained by the Godot community in its own GitHub repository.

The class reference is also accessible from within the engine.

The official demos are maintained in their own GitHub repository as well.

There are also a number of other learning resources provided by the community, such as text and video tutorials, demos, etc. Consult the community channels for more info.

Travis Build Status AppVeyor Build Status Code Triagers Badge Translate on Weblate