Awesome
Importality
Importality - is an add-on for Godot engine for importing graphics and animations from popular formats.
ATTENTION!
The latest DEV-versions of Godot have broken backward compatibility, and when importing SpriteFrames
you may see that all frames are empty. In this case, try using the plugin from the fix_empty_frames branch. It uses PortableCompressedTexture2D
to save the atlas embedded right in SpriteFrames
resource instead of saving a separated PNG-file.
Please let me know about any problems with this.
ATTENTION!
In version 0.3.0, the plugin settings were moved from the ProjectSettings to the EditorSettings! This may come as a surprise and may break some of your configured processes! But this will allow you to avoid publishing your local settings along with the project file to the Git repository, and will make CI/CD easier.
📜 Table of contents
📝 Introduction
I previously published an add-on for importing Aseprite files. After that, I started developing a similar add-on for importing Krita files. During the development process, these projects turned out to have a lot in common, and I decided to combine them into one. Importality contains scripts for exporting data from source files to a common internal format, and scripts for importing data from an internal format into Godot resources. After that, I decide to add new export scripts for other graphic applications.
<p align="center"> <a href="http://www.youtube.com/watch?feature=player_embedded&v=tlfhlQPr_IA" target="_blank"> <img src="http://img.youtube.com/vi/tlfhlQPr_IA/hqdefault.jpg" alt="Watch the demo video" /> </a> </p>🎯 Features
- Adding recognition of source graphic files as images to Godot with all the standard features for importing them (for animated files, only the first frame will be imported).
- Support for Aseprite (and LibreSprite), Krita, Pencil2D, Piskel and Pixelorama files. Other formats may be supported in the future.
- Import files as:
- Atlas of sprites (sprite sheet) - texture with metadata;
SpriteFrames
resource to create your ownAnimatedSprite2D
andAnimatedSprite3D
based on it;PackedScene
's with ready-to-useNode
's:AnimatedSprite2D
andAnimatedSprite3D
Sprite2D
,Sprite3D
andTextureRect
animated withAnimationPlayer
- Several artifacts avoiding methods on the edges of sprites.
- Grid-based and packaged layout options for sprite sheets.
- Several node animation strategies with
AnimationPlayer
. - Importing any other graphics formats as regular images with external command line utilities.
🥁 Upcoming updates by voting Reddit users
- Layers names filters (for layers visibility overriding)
- Linux and MacOS scripts to run Krita as different user (to resolve import hanging while Krita instance is running)
- Something else (what?) - users are undecided
- New target resource-types
- More flexible definition of borders around sprites
- Ability to specify normal-map layer name
💽 How to install
- Install it from Godot Asset Library or:
- Clone this repository or download its contents as an archive.
- Place the contents of the
addons
folder of the repository into theaddons
folder of your project.
- Adjust the settings in
Editor Settings
->Importality
- Specify a directory for temporary files.
- Specify the command and its parameters to launch your editor in data export mode, if necessary. How to configure settings for your graphical application, see the corresponding article on the wiki.
👷 How to use
Be sure to read the wiki article about the editor you are using! These articles describe the important nuances of configuring the integration!
- Aseprite/LibreSprite (Important)
- Krita (Critical!)
- Pencil2D (Important)
- Piskel (No integration with the application. The plugin uses its own source file parser)
- Pixelorama (No integration with the application. The plugin uses its own source file parser)
- Other graphics formats (Important)
Then:
- Save the files of your favorite graphics editor to the Godot project folder.
- Select them in the Godot file system tree. They are already imported as a
Texture2D
resource. - Select the import method you want in the "Import" panel.
- Customize its settings.
- If necessary, save your settings as a default preset for this import method.
- Click the "Reimport" button (you may need to restart the engine).
- In the future, if you change the source files, Godot will automatically repeat the import.
💪 How to help the project
If you know how another graphics format works, or how to use the CLI of another application, graphics and animation from which can be imported in this way - please offer your help in any way. It could be:
- An issue describing the bug, problem, or improvement for the add-on. (Please attach screenshots and other data to help reproduce your issue.)
- Textual description of the format or CLI operation.
- Pull request with new exporter.
- A temporary or permanent license for paid software to be able to study it and create an exporter. For example for: