58e8e5f219
See godotengine/godot-proposals#1215. This adds shortcuts for blender-inspired transforms, where you can press the key and immediately be transforming an object without holding the mouse. Clicking commits the transformation, ESC aborts it. This is inspired by Blender's G(rab)/R(otate)/S(cale) shortcuts, but I decided not to add default bindings as `S` is already bound to the regular scale tool, and it might be confusing to only bind some of them. While actively using a transform tool, you can press X/Y/Z to lock the transform to an axis or (shift)+X/Y/Z to constrain the transform to a plane. These keys are only processed if you have a transform tool (translate/rotate/scale) active _and_ the mouse button is held. Pressing XX/YY/ZZ will lock the transform to a local (rather than global) axis. This is achieved by temporarily toggling the local transform button. I did this (vs handling it in the transform functions) for 3 reasons: - Transform logic for translate/rotate (but not scale) appears to be tightly coupled to the gizmo - This ensures the gizmo changes to indicate we're transforming locally/globally - Toggling the button state in the UI also gives the user feedback about the nature of the transform. The original state of the button is reset when the transform completes. Pressing the `spatial_editor/cancel_transform` shortcut key during a transform operation will cancel the transform and reset the objects back to their original transforms. This functionality was already accessible by pressing RMB during a transform, however: - ESC is more familiar to blender users, and a more common "cancel" key in general. - Given you must hold LMB during a transform, pressing RMB as well is clumsy if not impossible (on a laptop trackpad). |
||
---|---|---|
.github | ||
core | ||
doc | ||
drivers | ||
editor | ||
main | ||
misc | ||
modules | ||
platform | ||
scene | ||
servers | ||
tests | ||
thirdparty | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.mailmap | ||
AUTHORS.md | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
COPYRIGHT.txt | ||
DONORS.md | ||
gles3_builders.py | ||
glsl_builders.py | ||
icon.png | ||
icon.svg | ||
icon_outlined.png | ||
icon_outlined.svg | ||
LICENSE.txt | ||
logo.png | ||
logo.svg | ||
LOGO_LICENSE.md | ||
logo_outlined.png | ||
logo_outlined.svg | ||
methods.py | ||
platform_methods.py | ||
README.md | ||
SConstruct | ||
version.py |
Godot Engine
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 with one click to a number of platforms, including the major desktop platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as Web-based platforms (HTML5) and consoles.
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.
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.
The best way to get in touch with the core engine developers is to join the Godot Contributors Chat.
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 the Godot editor.
We also maintain official demos in their own GitHub repository as well as a list of awesome Godot community resources.
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 information.