In this tutorial we’ll set up schematics to animate using abilities/items and changing camera positions.
This tutorial continues the sub-series for animating battles.
Battle actions like abilities or items are animated using schematics – and they can use multiple schematics to do so. We’ll split most of our actions into multiple schematics to have them available as modular parts to reuse and combine as needed.
We’ll now set up 3 schematics that’ll use the Front View and Front View 2 camera positions to:
- view the user of an action
- view the target of an action
- reset the camera
We’ll show the user of an ability or item at the start of the action, show the target before spawning an effect on it (and calculating the outcome) and reset the camera at the end of the action.
Additionally, we’ll also set up 2 simple schematics to play the Use and Cast animation types (for using an item and casting an ability).
Use Schematic #
We’ll start with a simple schematic to play the Use animation type on the user (Machine Object).
Combatant Animation #
Add Node > Animation > Combatant > Combatant Animation
This node is used to play animation types on a combatant. The combatant will play it’s animation assigned to the type.
- Object
Select Machine Object. - Animation Type
Select Use. - Wait
Enable this setting. - Normalized Time
Set to 1.
This controls how much of the animation will be waited, 1 being the whole duration, 0.5 only half of it, etc.
And that’s it for the schematic. Click on Save Schematic to save it, e.g. as UseAnimation.
Cast Schematic #
Similar, we’ll play the Cast animation type on the user.
Instead of creating it from scratch, edit the still open UseAnimation schematic and use Save Schematic As to save it as a new schematic.
Combatant Animation #
Change the following setting.
- Animation Type
Select Cast.
And that’s it for the schematic. Click on Save Schematic As … to save it, e.g. as CastAnimation.
Battle View User Schematic #
This schematic will show the user of an action. It’ll block the camera control (in case it’s allowed during battle, which it’ll be for our setup), set a local bool variable to remember that camera changes are made and change the camera using camera positions.
All schematics of an action share their local variables, so we can check for the bool variable in the other schematics if camera changes should be made. They also share an (optionally) stored initial camera position, which we’ll use to reset the camera to it’s state it had before this schematic.
Settings #
- Store Initial Position (Camera Settings)
Enable this setting.
We remember the camera’s position, rotation and field of view it had at the start of this schematic.
As said, this information is shared with all other schematics of a battle action.
Block Camera Control #
Add Node > Input > Block Camera Control
This node is used to block or unblock the camera control – we’ll block it.
- Block/Unblock
Enable this setting.
Change Variables #
Add Node > Value > Variable > Change Variables
This node is used to change variables, we’ll set a local bool variable to remember we changed the camera.
Click on Add Variable.
- Change Type
Select Variable. - Variable Key
Set to useCamera. - Variable Origin
Select Local. - Type
Select Bool. - Bool Type
Select Value. - Bool Value
Enable this setting.
Change Camera Position #
Add Node > Game Object > Camera > Change Camera Position
This node uses camera positions.
We’ll set the camera using Front View.
- Camera Position
Select Front View. - Object (Target Object)
Select Machine Object.
Change Camera Position #
Add Node > Game Object > Camera > Change Camera Position
Now we’ll fade to Front View 2.
Copy the previous Change Camera Position node and change the following settings.
- Camera Position
Select Front View 2. - Fade Position
Enable this setting. - Time
Select Value > Value.
Set the value to 1.5. - Wait
Disable this setting.
And that’s it for the schematic. Click on Save Schematic to save it, e.g. as BattleViewUser.
Battle View Target Schematic #
Similar to the previous schematic, this time we’ll show the target – but only if the useCamera bool variable is true, and we’ll also check if user and target are the same (no need to show it agian in that case).
Create a new schematic.
Is Object #
Add Node > Game Object > Game Object > Is Object
This node is used to check if 2 objects are the same.
- Object (Object 1)
Select Machine Object. - Object (Object 2)
Select Starting Object.
Check Variables #
Add Node > Value > Variable > Check Variable
We’ll check the useCamera bool variable.
This node is connected to the Failed slot of the Is Object node.
Click on Add Variable.
- Variable Key
Set to useCamera. - Variable Origin
Select Local. - Is Valid
Enable this setting. - Type
Select Bool.
Change Camera Position #
Add Node > Game Object > Camera > Change Camera Position
We’ll target the Starting Object this time.
- Camera Position
Select Front View. - Object (Target Object)
Select Starting Object.
Change Camera Position #
Add Node > Game Object > Camera > Change Camera Position
Now we’ll fade to Front View 2.
Copy the previous Change Camera Position node and change the following settings.
- Camera Position
Select Front View 2. - Fade Position
Enable this setting. - Time
Select Value > Value.
Set the value to 1.5. - Wait
Disable this setting.
And that’s it for the schematic. Click on Save Schematic to save it, e.g. as BattleViewTarget.
Battle View Reset #
And finally, we’ll reset the camera if the useCamera bool variable is set.
Create a new schematic.
Check Variables #
Add Node > Value > Variable > Check Variable
We’ll check the useCamera bool variable.
Click on Add Variable.
- Variable Key
Set to useCamera. - Variable Origin
Select Local. - Is Valid
Enable this setting. - Type
Select Bool.
Stop Camera Position Fade #
Add Node > Game Object > Camera > Stop Camera Position Fade
This node is used to stop any ongoing camera position fading.
No further settings.
Block Camera Control #
Add Node > Input > Block Camera Control
It’s time to unblock the camera control.
- Block/Unblock
Disable this setting.
Initial Camera Position #
Add Node > Game Object > Camera > Initial Camera Position
This node restores the initial camera position, rotation and field of view to the values we stored in the first schematic (since the schematics of a battle action share that information).
- Fade Position
Disable this setting.
We’ll set it immediately.
And that’s it for the schematic. Click on Save Schematic to save it, e.g. as BattleViewReset.
Default Battle Animations #
Now, we’ll use those schematics to set up some default battle animations that’ll be used before and after each ability and item (that are set up to use them, which is enabled by default).
Navigate to Combatants > Combatants > General Settings and change the following settings.
Battle Settings > Default Battle Animations #
These settings handle the default battle animations (using schematics) for special actions, e.g. a combatant’s death or escaping. Combatants can optionally override the default animations.
We’ll set up battle animations that will be used before and after each ability and item (unless they disable using them).
Ability Start Animation #
These battle animations are used before an ability’s battle animations.
We’ll view the user 50% of the time, play the cast animation and view the target (if the camera changes where used).
Click on Add Battle Animation.
- Schematic Asset
Select the BattleViewUser schematic. - Chance
Set to 50.
Click on Add Battle Animation.
- Schematic Asset
Select the CastAnimation schematic.
Click on Add Battle Animation.
- Schematic Asset
Select the BattleViewTarget schematic.
Ability End Animation #
These battle animations are used after an ability’s battle animations.
We’ll reset the camera changes (if they where used).
Click on Add Battle Animation.
- Schematic Asset
Select the BattleViewReset schematic.
Item Start Animation #
These battle animations are used before an item’s battle animations.
We’ll view the user 50% of the time, play the use animation and view the target (if the camera changes where used).
Click on Add Battle Animation.
- Schematic Asset
Select the BattleViewUser schematic. - Chance
Set to 50.
Click on Add Battle Animation.
- Schematic Asset
Select the UseAnimation schematic.
Click on Add Battle Animation.
- Schematic Asset
Select the BattleViewTarget schematic.
Item End Animation #
These battle animations are used after an item’s battle animations.
We’ll reset the camera changes (if they where used).
Click on Add Battle Animation.
- Schematic Asset
Select the BattleViewReset schematic.
Save Changes #
And that’s it for now.
Don’t forget to save your changes by clicking on Save Settings at the bottom of the editor.
Next, we’ll set up schematics for animating and calculating the outcome of abilities and items.