Search Unity

Proper Setup for Animation Blending Pipeline

Discussion in 'Animation' started by mweyna, Nov 12, 2014.

  1. mweyna

    mweyna

    Joined:
    May 23, 2013
    Posts:
    13
    So I'm trying to figure out the best setup for characters with a high degree of animation sharing. They are all roughly humanoid in design, and sharing the same CAT rig for the most part. Our goal is to have a different characters use the same suite of movements with a different "stance" applied on top of them. When I've set up my State Machine to have the movement suite at the Base Layer, and then the "stance" applied Additively on the layer above it, it would seem that often the additive positions are not really being applied properly, even with masking.

    For instance, we have our base pose with the characters leg more then shoulder width apart. If I wanted to apply a "timid" pose, where the feet are within the shoulders next to each other, then every combination appears to either destroy the motion from the base layer, or not respect footIK when I mask it to just the leg and feet bones (but not hips) that the character is dropping below the ground plane.

    What is the proper approach to set up a system when you can apply different full body poses on the same animation suite?
     
  2. 3DCWCURTO

    3DCWCURTO

    Joined:
    Dec 30, 2012
    Posts:
    19
    Its been a while since I did animation retargeting or used 3d max the program i assume your using.

    I don't get your plan with the base layer and stance layer. Seems problematic. Sounds like your trying to use the same animations for every character but apply some offset in the animations so that each character is unique. Its a cool idea but I feel like the quality wouldnt be good or even work. Idk. If you get it working cool but I think I would be better to hand animate each new character assuming they are not all space marines or modern soldiers but actually unique looking with unique styles of movement
    To speed up the custom animating I might write a macro script. For example to make a walk animation more timid I would have a script translating values and use it on every important keyframe to push the feet inward on a base set of animations. Then do the same for the other animations. After that do another pass and exaggerate movements to give more personality.
     
  3. mweyna

    mweyna

    Joined:
    May 23, 2013
    Posts:
    13
    Production realities require a large number of animations within a short period of time and few artists. As such, we're by no great choice having to use a high degree of blending and a large number of generic motions. Not an ideal situation but when is development ever ideal.
     
  4. medhue

    medhue

    Joined:
    Aug 24, 2014
    Posts:
    176
    In Blender, I have 1 rig that I use to animate all characters between a number of platforms. Luckily, this 1 rig works for all of them, including Unity. So, that means I can use any animation that I've made for any of these platforms. This rig, which I modified, is part of an Addon for blender and has it's own retargeting tool, which works perfectly with my motion capture system. When I need the same animation for a totally different size character, I just adjust my rig, and then slightly adjust the main keyframes in the animation, mostly arm movments for precise placement.
     
  5. medhue

    medhue

    Joined:
    Aug 24, 2014
    Posts:
    176
    I would think this would totally be possible, but I'm an animator, and not a coder.

    What I can imagine doing, is just creating new animations for the diffirent characters, but only using the bones needed for a masking layer that each character has. So, each character has an Animation Controller with 2 layers. The base layer is where all the generic animations are. The 2nd layer is the masking layer for each character. Like I eluded to in my first comment, generally it is the arm bones that need adjusting on every character. Again, I'm an animator, so I'm looking at it from the tools that I have.