how to allow multiple animation to be played simultaneously without overriding ?

I am trying to allow multiple animation to be played simultaneously without overriding the previously playing animation .

I have been looking at some examples but none that has made things easier for me .

so if i have 10 animation slips and i press keys to play each clip one after the other all the clips should play without overriding any . thats the basic idea anyway .

here is the code i’m using .

using UnityEngine;
using System.Collections;

public class PlayClips : MonoBehaviour {
	
	public Transform shipbody ;
	// Use this for initialization
	void Start () {
	
	animation["OpenBackThrusters"].layer = 1;
	animation["OpenBackThrusters"].AddMixingTransform(shipbody );
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetKeyDown("d"))
		{
			animation.Play("RollRight");
		}
		if (Input.GetKeyDown("a"))
		{
		animation.Play("RollLeft");	
		}
		if (Input.GetKeyDown("b"))
		{
		animation.Play ("ExtrudeWings");
		animation.Blend("OpenBackThrusters");
		
		}
		if (Input.GetKeyDown("n"))
		{
		animation.Play("OpenCrackerShotVents");	
		}
		if (Input.GetKeyDown("x"))
		{
		animation.Play("FlipOutRocketBlaster");	
		}
		if (Input.GetKeyDown("m"))
		{
		animation.Play("OpenLazerBlasters");	
		}
		if (Input.GetKeyDown("v"))
		{
		animation.Play("OpenSideVents");	
		}
	
	}
}

In Mecanim, place the animation in a higher Layer as Additive, complete with the Avatar/Body mask you created to select/deselect active bones. Adjusting Layer weight should add the animation on top of whatever else is playing.

You can play animation by setting AnimationState directely instead of using Animation’s Methods.

for example, you have two clips

AnimationState state1 = animation["clip1"];
AnimationState state2 = animation["clip2"];

//put them in the same layer so they can blend
//note : in default, all states' layer is 0
state1.layer = 1;
state2.layer = 1;

//start play animation clips with each of 50% weight
state1.enable = true;
state1.weight = 0.5f;
state2.enable = true;
state2.weight = 0.5f;

enabled in default is false, and weight in default is 1. When you call Animation.Play(), it actually set the enable to true, lerp the value of weight and set all the other AnimationState.enabled which have the same layer of current animationstate to false. That’s why you can’t call Play or Blend to mix multiple animations.

See AnimationState.weight and AnimationState.blendMode for details