Animating your combatants is done by creating animation types and assigning animations to them.
Combatants can have different animations in the field and in battle. Equipment and status effects can override individual animations of a combatant, e.g. a poison effect playing a different idle animation or a weapon overriding movement animations.
Animation Types #
When playing an animation for a combatant, you’ll actually play an animation type. Combatants will use the animation they have currently assigned to the animation type.
Animation types are set up in Base/Control > Animation Types.
Here are some examples for animation types:
- idle
- run
- attack
- defend
- use item
- cast magic
You can play animation types on a combatant in schematics using a Combatant Animation node.
General Settings #
The general settings of the animation types define the default animation types for different idle and movement animations, as well as death, revive and victory animation types.
The idle and movement animations play automatically when combatants use auto animations.
Animations #
Animations define how an animation type animates a combatant. They are set up in Base/Control > Animations.
You can set up animations for the legacy animation system, Mecanim and custom animation systems (using components). The animation setup can define the animations for all 3, the combatants define which animation system they use. The default animation system type is defined in Combatants > Combatants > General Settings, each combatant can optionally override it with a custom animation system type.
You can add multiple animations to an animation type, one of them will be used at random. E.g. add multiple animations to a Damage animation type (that’s used to play a damage animation when a combatant is hit) – each time the combatant is hit it’ll play a different damage animation.
Legacy #
The legacy animation system only requires the name of the animation to play it. You have full control on how the animation plays (e.g. Cross Fade) and can optionally set the layer and speed of the animation.
Legacy animation use the Animation component to play animations.
Mecanim #
Mecanim animations require you to define the name of the animation state and it’s layer. Beside directly playing or crossfading an animation state, you can add parameters to play or stop animations via their animator controller’s transitions. This largely depends on how the animator controller you’re using for a combatant is set up.
The Mecanim setup allows you to automatically forward the combatant’s movement speed to float parameters of the animator controller. You can also forward roation information in either full degree (float parameter) or 4/8-directional information (int parameter). This can be used to control the combatant’s movement animations based on the forwarded parameters, e.g. feeding them into a blend tree.
Additionally, you can check the active animation state and set parameters depending on it.
Mecanim animations use the Animator component to play animations.
Custom #
Use custom animations to integrate your custom animation systems/controllers into ORK. The combatant’s animation setup has to define the name of the animation component.
The animation setup defines also defines the class and function for playing and stopping animations on the component. You can optionally add parameters to forward information about the animation you want to play. E.g. use a string parameter to define the name of an animation.
Animation Overrides #
Combatants define which animation setup they use as their basis and can optionally use an additional setup in battles.
Equipment and status effects can override the animation setup. Overriding animations don’t need to define all animation types of a combatant – just those that should change.
E.g. a poison status effect only overrides the idle animation type to play a different idle animation while poisoned. This doesn’t affect any other animation
I.e. you don’t have to define all animations in each animation setting. It’s best to create an animation setting that contains all standard animations of a combatant (for field and battle). If you need to override certain animations (like idle and run in battles), simply create a new animation setting with only those animations defined and use it where it’s needed (e.g. as the combatant’s battle animation).
E.g. a spear and a sword (equipment) each overrides the attack animation type, playing different attack animations based on which weapon is equipped.
Animation types search in this order:
- status effects
- equipment
- battle (when in battle)
- base
The first assigned animation is used, e.g. if a status effect overrides the animation type, that’ll be used. Otherwise it’ll look in equipment, etc. – until an assigned animation is found, or no animation is played if nothing is assigned to an animation type.