Hello,
I am looking for some general advice and ideas and some discussion regarding our animation ideas, and how to correctly begin laying out the infrastructure so we don’t end up burying ourselves down the line.
A little bit of background: Our game is a third person RPG, with melee, magic and ranged combat planned out.
Our melee combat has a bit of a twist on it which I’m hoping will make the game somewhat unique, you will basically “learn” various new attacks for each weapon class, and use them to make your own “moveset chain” by stacking the attacks on the attack keys.
I am generally new to game animation in general and it’s really the only field in the entire project that we have no expert on, so I am turning to the forums for help.
Let’s break it down to what I wish to achieve, and I’ll use whatever limited knowledge of mecanim terms that I know:
1 - Unarmed movement:
-
Walking, jogging and sprinting unarmed, alike Souls-games where whatever direction you walk, your character turns to face the direction and walk towards it (basically no functional strafing) - we basically got this sorted out via modifying a free asset off the Asset store
-
Jumping and falling and contextual actions such as picking stuff up, interacting with world - on the way, but I do not imagine it being too much of a problem
2 - Weapon Equipped movement
- Walking animation different than uneqipped walking, obviously. Since we have several weapon types, each of is held differently by the upper body, how would one solve this? I am aware you can use Avatar Masks to mask out say, upper body and retain lower body animation, but ultimately this would look somewhat weird, not natural when carrying larger weapons which affect your whole body movement. Is our only option to animate 8-10 different walking animations (each in 8 directions for interpolation)?
- In Combat, the Jump action replaces jumping with evasion moves (Souls-like roll, dodge, magic “shifting” etc) - would it be wise to use root movement for those, or scripted one, since player should be able to dodge off ledges and such?
3 - Weapon attacks
- Considering we plan to have a very large amount of melee attack animations, what would be the best idea to sort them out in the machine state? Currently I imagine to have all of them simply draw from Any State (on what will be our attack layer I guess), and go back to Any state then done. They each have a unique string trigger that will trigger only that animation and no other. In C# code, simply grab the animation name from the attack object dictionary or whatever (easily sorted). The drawback would be approximately 70-80 unique triggers for melee attacks alone. Are there other ways to sort this?
- Is there a significant performance impact to using Animation events? Currently they are most useful in determining when does the damaging part of animation start, when is control taken/given back to play, when do VFX and sounds play etc…
4 - Final question, how exactly are Mecanim animation layers used? Are they only “folders” for machine state nodes so they don’t get cluttered, or do they have some sort of priority or precedence between them?
So there, this is our situation currently, do you have any insights or ideas? How would you organize animation clips and machine states for a game like this (tons of different attacks and such)?
Alternatively if there’s any advanced level tutorials or materials on using mecanim and correctly animating third person game avatars, I would also greatly appreciate that!
Thank you all in advance!