The AutoAnim Plugin for Godot 3.5 is an addon that aims to simplify the character creation process for 2D games. By automating certain repetitive and monotonous tasks, this plugin will enable devs to more quickly create usable character scenes to place within their game worlds.
This extension is still in development at this time and I am working to improve it as much as possible. With your help, we can make a wonderful resource that will let indie devs gets more games to market so we can all play them!
Download the files from GitHub.
Extract the files (if desired).
Copy the 'addons’ folder to a new project.*
Enable the addon in the Project Settings, then click 'Close'.
* While the add-on can be used with existing projects, it is recommended to use it with a brand new project due to how the scripting of characters created with this plugin is set up.
The first time you enable the plugin, you will see the First Time Setup pop-up. This interface has you set up the default settings for your project.
* These settings can be set for each individual state.
Once you've completed the First Time Setup, you can access the main addon interface by clicking 'AutoAnim' in your editor's interface bar - the one by 2D, 3D, Script, and Asset Library (by default).
The function of this plugin relies upon properly set up spritesheets. The magic works by automatically calculating the hframes and vframes on the spritesheet, then iterating over the frames by row and assigning them to the appropriate timing on the animation timeliness. To make sure this process happens as seamlessly as possible, please adhere to the following guidelines when creating your spritesheets:
Every frame should be the same size. Leaving some empty space around your characters will give you space for your character to squash and stretch without having to change the frame size.
NOTE: This does not mean that the height and width must be the same. Your sprite can have a different width than height and still work (see below for example)
Template / example spritesheets are in the Assets folder in the main zip file when you download the plugin from GitHub.
This character sheet is NOT set up properly.
Image Credit: WeRideForCoffee on OpenGameArt.org
This character sheet is NOT set up properly.
Image Credit: CruzR on OpenGameArt.org
This character sheet is NOT set up properly.
Image Credit: saint11 on OpenGameArt.org
This character sheet is NOT set up properly.
Image Credit: Pipoya on Itch.io
This character sheet is NOT set up properly.
Image Credit: zaphgames on OpenGameArt.org
This character sheet is set up properly.
Image Credit: zaphgames on OpenGameArt.org
*with minor edits by me
* You may need to click the button twice. This is a known bug.
Please report any bugs not listed here to the Discord Server under the Bug Reports channel or directly on the Git Hub Issues Page.
These are the features I plan to implement eventually but are not yet part of the plugin.
If you'd like to help implement one or more of these, please let me know and I'll set up a branch for you - or fork the GitHub project!
Feature | Description | Status |
---|---|---|
Aseprite file compatibility |
Add the ability to directly use .ase files to generate animations, set states, and set up blend trees. |
Not yet started. |
Advanced frame configuration |
Add the ability to have your characters use a single spritesheet, or have any order of directions on the sheet instead of using the current strict formatting guidelines. |
Not yet started. |
Character Scene Inheritance |
Make character scenes inherit from BaseCharacter.tscn so changes will propogate automatically to all created characters. |
Not yet started. |
Player Characters |
Add the ability to tell the plugin when a character should be a player and receive input accordingly. Currently, you must go back and change the script manually by extending the BaseCharacter (AABaseCharacter.gd) script. |
Done! You can now toggle whether a character is a player in the character scene's inspector. |
Easier use of plugin in existing projects |
Add functionality to allow users to more easily add this plugion to existing projects. Currenlty this can be done but will take a significant amount of configuration. |
Not yet started. |
If there is a feature you'd like to see, please let me know in either the Discord 'suggestions' channel or on the Git Hub Issues Page (use 'New Issue' and 'Feature Request').
Please feel free to contact me on the Discord server if you are having trouble with this plugin or have any comments or suggestions.