Search Unity

Question Beginner confusion on how to stucture animations for 360 degree aiming

Discussion in 'Animation' started by ibbitzzz, Jan 30, 2022.

  1. ibbitzzz

    ibbitzzz

    Joined:
    Jun 15, 2018
    Posts:
    9
    Hello,

    I'm trying to setup the animator/states for a playable character. For my game, I want to create a 2.5D platformer, where the player can aim freely in all directions (similar to Samus in Metroid Dread, though not as complex). I have a model made and rigged (IK on legs and arms, Multi-Aim on Head), but I'm admittedly a bit of a newbie when it comes to animation, especially in Unity.

    I'm having difficulty visualizing how to properly structure the animations I have to create. From what i can tell I'll need a CharacterAnimationController component to control Animator values and adjust IK targets, and I have an idea of most of the state machine, but once animation layers and IK get involved my brain melts haha.

    Below is what I know my character will need to do:

    • Aim in 360 degrees while on ground and airborne (upper body, maybe some shift in leg position)
    • Shoot or attack in the direction aimed (upper body)
    • Some standing/idle animations with leg IK targeted to terrain
    • Jumping and landing (full body)
    • Movement abilities (full body)
    • Respawn animation (full body)
    • No need for running animations, players can only jump
    I don't really know though how this should look as animation layers, which parts need to override which, which parts should be additive, and where I need to have an IK Pass. Obviously certain things like adjusting Rig weights will have to happen in a script, but the rest seems like it has to be spread across multiple state machines.

    For example, an airborne player can shoot, which might be on an Upper Body layer (is that a good idea?), and then do a movement ability, which would be on a Full Body layer (again, unsure if good idea). How exactly would moving between these two actions look like? Does that too have to be managed by a script? Or is the better approach to somehow make them all within the same layer?

    For those who are more visual learners, I've added an MS doodle for clarity.
    I've broken it up by what the player can do on the ground and in the air.
    upload_2022-1-30_17-56-44.png

    Thank you for your help
    -ibbitz