In this tutorial we’ll set up hit effects and the enemy’s death animation.
We’ll mostly set up schematics for this. The hit effects are already set up on our combatant prefabs, we’ll just enable them for a short time to play them.
We’ll set up:
- schematic to animate the enemy’s death
- schematic handling hit effects
- tagged machine on player and enemies to play hit effect
Let’s get to it!
Chomper Death Schematic #
First, we’ll set up the death schematic for the chomper (and another enemy).
Navigate to Schematics and start working on a new schematic.
Play Sound #
Add Node > Audio > Audio > Play Sound
We’ll play the Death sound type on the user, i.e. dying combatant (Machine Object).
- Object (Play On)
Select Machine Object. - Use Sound Type
Enable this setting. - Sound Type
Select Death. - Play One Shot
Enable this setting. - Set Pitch
Enable this setting. - Random Pitch
Enable this setting. - Pitch
Set to 0.8. - Pitch 2
Set to 1.2.
Combatant Animation #
Add Node > Animation > Combatant > Combatant Animation
We’ll play the combatant’s death animation.
We only wait for a part of the time and store the remaining time – we’ll use the stored time to play a dissoving effect.
- Object
Select Machine Object. - Animation Type
Select Death. - Wait
Enable this setting. - Normalized Time (Wait)
Set to 0.3. - Store Duration
Enable this setting. - Normalized Time (Store Duration)
Set to 0.7. - Variable Key
Set to wait. - Variable Origin
Select Local.
Change Color #
Add Node > Animation > Fade > Change Color
Usually this node is used to change colors (e.g. of renderers), but we can also use it to change other properties.
E.g. we’ll now use it to change the _Cutoff property of the material, dissolving our combatant. When changing float properties like this, it’ll only use the alpha value of the color.
- Color Type
Select Renderer.
We’ll change the property of a renderer’s material. - Set Property
Enable this setting. - Property Name
Set to _Cutoff. - Is Float
Enable this setting. - Fade
Select Fade. - Wait
Enable this setting. - Time
Select Variable > Float Variable.
We’ll use the stored time from the animation. - Variable Key
Set to wait. - Variable Origin
Select Local. - Interpolation
Select Quadratic > Quadratic In. - Fade Alpha
Enable this setting. - Start Color
Select a color with no alpha (i.e. A=0). - End Color
Select a color with full alpha (i.e. A=1 or 255, depending on your color picker). - Scope
Select All In Children.
Calculate Action #
Add Node > Battle > Action Outcome > Calculate Action
This’ll handle the combatant’s actual death.
Calculating an action’s outcome defaults to playing animations, e.g. damage, or in this case, the death animation. Since we manually play the death animation to be able to wait for it to finish, we don’t want this to happen and need to disable the setting.
- Animate Target
Disable this setting.
And that’s it for the schematic. Click on Save Schematic to save it, e.g. as ChomperDeath.
Hit Effect Schematic #
Next, we’ll set up the schematic handling the hit effect. We’ll simply start emiting particles, wait and stop emiting particles.
Create a new schematic.
Emit Particles #
Add Node > Game Object > Component > Emit Particles
This node is used to start or stop emiting particles on a game object (with a particle system).
We’ll use this schematic directly on the game object with our particle effect, so the Machine Object is the game object we need.
- Emit
Enable this setting. - Stop Before Start
Enable this setting.
This makes sure the effect is reset. - Object (Target Object)
Select Machine Object.
Wait #
Add Node > Base > Wait
- Time
Select Value > Value.
Set the value to 0.1.
Emit Particles #
Copy the previous Emit Particles node.
- Emit
Disable this setting.
And that’s it for the schematic. Click on Save Schematic to save it, e.g. as HitEffect.
Default Death Animation #
Now that we have our death schematic, we’ll use it as the default death animation for all combatants.
Navigate to Combatants > Combatants > General Settings.
Battle Settings > Default Battle Animations > Death Animation #
Click on Add Battle Animation.
- Schematic Asset
Select the ChomperDeath schematic.
Save Changes #
That’s it for the setup in the editor.
Don’t forget to save your changes by clicking on Save Settings at the bottom of the editor.
Updating Prefabs #
We’ll now set up a Tagged Machine on the following prefabs:
- Ellen Variant
- Chomper Variant
- Spitter Variant
You can find the prefabs in Assets/Tutorial Assets/Prefabs/Combatants/.
We’ve already set up the DamageDealerHit schematic to start tagged machines on the target of an attack. It uses the tag hitEffect, i.e. that’s what we also need for our machine’s setup. Learn more about them in this Makinom documentation.
The setup for all prefabs is the same. Open one of them for editing.
Select the GoopSprayEffect child object (it’s named a bit different on each prefab).
Add Tagged Machine #
Add a Tagged Machine component using the component menu.
Start Settings #
Click on Add Starting Tag.
- Tag
Set to hitEffect.
Machine Execution Settings #
- Schematic Asset
Select the HitEffect schematic.
That’s it for the setup.
Copying it to other prefabs #
You can now simply copy/paste the component to the other prefab’s GoopSprayEffect child objects.
To do this, right-click on the component’s title (Tagged Machine) and select Copy Component in the context menu.
Open the next prefab, find the GoopSprayEffect child object, select it and right-click on any other component’s title, select Paste Component As New – and there’s the set up component.
Repeat that on the last prefab as well.
Testing #
Hit play, let’s spill some goop!
Great, goop (and blood) sprays. Let’s hit some more.
And their death is animated properly.
Next, we’ll set up some HUDs.