Progress Report 6
18/12/2023
Work on Boomerang
- Made boomerang script more comprehensive
- Allows for multiple boomerangs
- A boomerang action (i.e. returning the boomerang) will be executed on the eldest boomerang
- From here I will try to continue to add features as planned based off of 🪃Boomerang Blob Character
Duplication
- Added the ability for the boomerang character to duplicate themself
- Theiduplicate lasts 5 seconds, and has 1hp
- Their duplicate DOES have the ability to duplicate themself further
- When the player turns their boomerang into a duplicate of them, the boomerang is destroyed
Re-Working the Animator
I originally made my Animator super basic because we are using a traditional, frame-based animation system, since the game is stylized around Claymation. At the time I didn't really consider how the animation state would change, just wanted to get an idle and walk animation working for prototyping.
Since I now have some animations to work with from my animator Noah, I wanted to implement a revitalized animation system that will work for the rest of this project (and possibly be re-usable for future projects🥺)
Here is the layout of how I plan to structure the new animator:
The key points are as follows:
-
Switches
- Always are bool statements
- Green = true
- Red = false
- Contain no animations, simply move the tree along
- Always are bool statements
-
Animations
- Contain the actual sprites that are played frame-by frame
- Contain frame events
- UnityEvents which are called at that frame
- Used for animation frames before an attack, SFX, etc.
- Contain frame events
- Contains the frame rate
- Contain the actual sprites that are played frame-by frame
-
Event Overrides
- One of the main features of my animator
- Called with special events (such as punches, kicks, abilities, etc.)
- Will play its child animation once, overriding anything that is going on in the tree
Added Animation System
The system uses an empty animator to play and make the animations | |
---|---|
The animation names are defined in the player controller and called automatically | |
Overrides are called as a function, passing the animation name | |
Here's how it looks in action | |
![Unity_DdGn8cl2wQ.gif | 697](/img/user/Unity_DdGn8cl2wQ.gif) |