Search Unity

Mecanim or Oldschool Legacy Animation System for Top Down Game?

Discussion in 'Animation' started by Moe.Inc, Jan 24, 2014.

  1. Moe.Inc

    Moe.Inc

    Joined:
    Nov 29, 2012
    Posts:
    2
    Hi there folks,

    here I am, posting my first question in the unity forums.
    We (a friend of mine, who takes care of the scripting parts and me, who makes it all look fancy) are working on a top down dungeon crawler game.

    The most important thing at the moment is to manage the player movement. So we had a working system with the old Legacy Animation System, but we decided to give Mecanim a go, because we want a really dynamic movement experience.

    You might need to know that the controls in our game are pretty much like the ones in BASTION. So you have a fixed almost top down camera and you move with WASD (pressing W will move your character up, S down, A to the left and D to the right, just that there are no misunderstandings).

    So with the Mecanim Animation System will it be possible to realize such a game and will it be the better solution? Or would you guys advise us to use legacy?

    Hopefully you can help us out on this ;)

    Cheers
    Sorry if my English might be bad. I'm from germany.
     
    Last edited: Jan 24, 2014
  2. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    You're only going to receive a bunch of opinions. Here are mine. :)

    If it's already working in the Legacy animation system, and if you don't have any major problems with it, continue using Legacy. On your next project, you can switch to Mecanim.

    If you're only considering Mecanim to get blend trees, state machines, and animation layers, get SAGE instead. This way, you don't need to reconfigure your rigs and animation clips for Mecanim, which would end up being more work than you expect. Also, since you're using Legacy, your animations probably do not have root motion. SAGE is easier to use with in-place animations. With Mecanim, you would need to script root motion.

    Mecanim is great, but it's not worth ripping apart a working project.
     
  3. Moe.Inc

    Moe.Inc

    Joined:
    Nov 29, 2012
    Posts:
    2
    Hey TonyLi,

    thanks for your reply. What we want to achieve are smooth transitions between animations. It is important for us that it looks nice when the main character changes animations (e.g. from running to idle and vice versa). Furthermore there will be tons of different animation states (Player is in Idlestate without holding a gun, Player is in Idle state holding a gun, same for running, getting hit, and so on)and I'm looking for a way to combine the already existing animations to save me some work. It is our first big project and we are still at the beginning. The working animation system with legacy was not hard to build up and it wasn't perfectly set up as well. It was made to find out whether the game will be fun or not, so the decision about using Mecanim or Legacy is now relevant because we want to start the actual production asap. So for us it is no big deal at the moment to change that. And in the solution with legacy the animations were not blended smoothly. I really dont want to rearrange my rigs and animation clips which are indeed in place.
    Maybe I should have asked another question:

    Is it possible to make smooth transitions between animations with both systems? And if so, which one is the better solution? It won't rip apart our project due to the fact it is still in prototype state. The goal is to get good animation quality. Keep in mind that these questions come from an artist, who might eventually lack some experience in coding (my tasks are particle systems, animations, and all that stuff and I'm doing well in unity so far).

    By the way, your Dialogue system looks kinda interesting, we might be using it. But thats a different topic :).
     
    Last edited: Jan 24, 2014
  4. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Yes, smooth transitions are possible with both systems. The trick is to cross-fade (e.g., Animation.CrossFade()), which gradually decreases the weight of the old animation while increasing the weight of the new animation. Blending is similar to cross-fading; it lets you combine animations -- for example, walk + run = jog.

    For Legacy, SAGE (which is a third party product) automatically handles cross-fading, blending, and moving characters that use in-place animation. Your coders may prefer to use SAGE. Otherwise in Mecanim they'll have to script root motion, which may require some work from you to set up animation curves. If you switch to Mecanim, you'll have to reimport your rigs and clips as Humanoid or Generic (instead of Legacy), and you'll probably have to redo your animation events if you've set any up. For example, you may have set an animation event to trigger when a bow-and-arrow shooting clip hits the frame where the arrow should fly away from the bow.

    Then again, you and your coders might want to get a head start on learning Mecanim and switch over right now. Maybe you and your coders could do a limited test to see how much work it would require.

    Again, these are just my opinions.

    It supports both Mecanim and Legacy. :)
     
    chelnok likes this.