Skip to content

nklbdev/godot-4-importality

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Importality

en en

art for repo 2

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.

Watch the demo video

🎯 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 own AnimatedSprite2D and AnimatedSprite3D based on it;
    • PackedScene's with ready-to-use Node's:
      • AnimatedSprite2D and AnimatedSprite3D
      • Sprite2D, Sprite3D and TextureRect animated with AnimationPlayer
  • 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

  1. Layers names filters (for layers visibility overriding)
  2. Linux and MacOS scripts to run Krita as different user (to resolve import hanging while Krita instance is running)
  3. Something else (what?) - users are undecided
  4. New target resource-types
  5. More flexible definition of borders around sprites
  6. Ability to specify normal-map layer name

💽 How to install

  1. 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 the addons folder of your project.
  2. 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!

Then:

  1. Save the files of your favorite graphics editor to the Godot project folder.
  2. Select them in the Godot file system tree. They are already imported as a Texture2D resource.
  3. Select the import method you want in the "Import" panel.
  4. Customize its settings.
  5. If necessary, save your settings as a default preset for this import method.
  6. Click the "Reimport" button (you may need to restart the engine).
  7. 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: