AnimaX ABS Animation System - KageDesu/Alpha-ABS GitHub Wiki
โ ๏ธ Available since Build 1230
Alpha ABS have three animation systems
- Motion System
- Motion System 2
- and AnimaX system (current)
๐ด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ AnimaX system not works with others. You can use only one animation system in project.
๐
ฐ๏ธ Since AnimaX is released, Motion System and Motion System 2 is not recommended for use.
AnimaX system has Demo project with animations examples
Demo Project
Features
- Idle animations
- Attack and skills animations
- Battle state animations
- Defense stance animations (player only)
- Support party members
- Support ABS and NON-ABS maps
- Support enemies
- Dead state animations (enemies only)
- Changing animation sets during game depends on equipment
- Flexible settings in plugin parameters for each animation
- Quick animations states (sets) change during game
AnimaX require only main movement animation per character, attack, skills, idle, stances - it's all optional elements.
Overview
By default each ABS character have three animation sets:
- Base - for movement
(required)
- inBattle - for movement in battle (with weapon in hands) (optional)
- Dead - for enemy dead corpses (optional) (not used for player and party characters yet)
Each animation set have two states:
- moving - animation when character is moving
(required)
- idle - animation sequence when character is stay (optional)
Idle animation example
AnimaX automatically changing animation sets (from Base to InBattle) and states (from Moving to Idle)
Set change example
Each set have settings:
- One Direction?
- Frames Count
- Speed
- Repeat first frame times
Create new animation
First, you should add animation with unique ID to Animations List
Animations List you can find in Plugin Parameters
ID will be using for folder name and as refer to animation from character (enemy) Note's
Then you should setup Base
state (it's required). Other states is optional.
In Base
states you should setup parameters for Movement
animation.
Idle
- it's optional.
Create default actions
Each animation set have own animation Actions
, all actions it's optional
Action have settings:
- Action Name - action name
- Settings - animation settings (same as animation set settings)
Alpha ABS have three default actions:
- Attack - when character (enemy) is attacking
- Defense - when character is go to the defense stance
- Skill - when character (enemy) is use skill (without own specified Action)
Defense action - is looped, and works only when character is not moving
All other actions is played once, _when action is playing character can't moving _
Attack example
Defense example
(this screenshot from AnimaX Demo project)
You can create own actions and assign them to the skills vie Note
Create custom actions for skills
- Add new action to animation set with unique Name (Action Name field)
- Assign action call to the skill via Note, add ABS parameter
animaXAction:NAME
,
where NAME - Action Name
Set animation to characters
Add ABS parameter <xAnima:NAME>
to Actor's Note section
Where NAME - it's default animation set name for character (without any equipment)
Folder and Files
Root folder for animations is ๐ img\charactersAA
(you should create folder charactersAA
)
Then you create folder ๐ for animation and name it as animation ID For example: Harold
In folder ๐ Harold, you should create two folders: actions
and inBattle
In folder ๐ Harold should be images for Base
set movement and idle
Naming rules:
- Idle_DIRECTION_FRAME.png
- Move_DIRECTION_FRAME.png
Supported directions:
- D - down
- L - left
- R - right
- U - up
- DL - down left (diagonal)
- DR - down right (diagonal)
- UL - up left (diagonal)
- UR - up right (diagonal)
โ ๏ธ For using diagonal sprites set Animation set parameter Is Support Diagonal?
to ON (true). Plugin parameter Use diagonal movement?
should be ON (true)
โ ๏ธ In movement animation, frame 0 - always only visible when characters is stopped (stay still)
When character is walking, frames from 1 to last is repeating.
This rule for all animations that start with Move_
All other animations: Idle_
and any action just repeating from 0 to last frame
File name example: Move_D_4 - moving animation, when character walking down, 4 frame
In folder ๐ Harold/inBattle should be images for inBattle
set movement and idle
Naming rules is same
In folder ๐ Harold/actions should be images for all actions that you setup in Plugin Parameters for this animation set (Harold)
Naming rules:
- ACTION_DIRECTION_FRAME.png
All actions animation playing from 0 to last frame
โ ๏ธ Defense
action have special rule, this is looping animation, repeating frames until character is out from defense stance
Changing sets by equipment's
Add ABS parameter xAnimaSet:POSTFIX
to equipment
You should create animation set for this equipment with proper unique ID = CHARACTER_ANIMATION_SET_NAME + POSTFIX
If you character have animation set with name Harold
, your equipment postfix is Sword
, you should create
animation set with name Harold_Sword
โ ๏ธ Build 1236 update
Set animation to event
Add comment XA:NAME
to event page.
If you switch event page to page without XA:
comment, animation will be reset
For change animation switch event page to page with another comment XA:NAME
Add extra layers to character
1. With equipmentโs
Add Note <xAnimaLayer:NAME>
โ layer frames will be loaded from img\charactersAA\CommonLayers\NAME\
Or Note <xAnimaLayerRelative:NAME>
What is Relative means?
Layer will be loaded not from CommonLayers, but from character current animation folder
Example: If you character have animation set with name Harold, your layer name is Hat, you should create folder Harold\Layers\Hat\
Itโs allows you create different frame images for different characters of same layer
2. With plugin commands:
-
ChangePlayerAnimationSet NAME
Where NAME - animation settings from Animations List plugin parameter
-
ResetPlayerAnimationSet
Where NAME - animation settings from Animations List plugin parameter Example: StartLockpicking 1
-
PlayAnimationAction ACTION_NAME CHAR_ID IS_LOOP IS_WAIT
Where ACTION_NAME - animation action name (should be defined for character current animation) CHAR_ID - 0 for player, -1 for this event or number = event ID IS_LOOP - true of false IS_WAIT - true of false (wait until animation is end before next event command)
-
StopAnimationAction CHAR_ID
-
AddAnimaLayer CHAR_ID LAYER_NAME IS_RELATIVE
-
RemoveAnimaLayer CHAR_ID LAYER_NAME
-
ClearAnimaLayers CHAR_ID
โ ๏ธ Build 1248 update
In Dead state, Idle
animation not looping anymore, now it's play from 0 frame to last then stops on last frame.
- preview - not all functions and features are implemented yet, there are limitations