AnimationState.AddMixingTransform Manual     Reference     Scripting  
Scripting > Runtime Classes > AnimationState
AnimationState.AddMixingTransform

function AddMixingTransform (mix : Transform, recursive : bool = true) : void

Description

Adds a transform which should be animated. This allows you to reduce the number of animations you have to create.

For example you might have a handwaving animation. You might want to play the hand waving animation on a idle character or on a walking character. Either you have to create 2 hand waving animations one for idle, one for walking. By using mixing the hand waving animation will have full control of the shoulder. But the lower body will not be affected by it, and continue playing the idle or walk animation. Thus you only need one hand waving animation.

If recursive is true all children of the mix transform will also be animated. If you don't call AddMixingTransform, all animation curves will be used.

JavaScripts
/// Adds a mixing transform using a path instead
var shoulder : Transform;
animation["wave_hand"].AddMixingTransform(shoulder);

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public Transform shoulder;
void Awake() {
animation["wave_hand"].AddMixingTransform(shoulder);
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public shoulder as Transform

def Awake():
animation['wave_hand'].AddMixingTransform(shoulder)

Another example using a path.
JavaScripts
function Start () {
// Adds a mixing transform using a path instead
var mixTransform : Transform = transform.Find("root/upper_body/left_shoulder");
animation["wave_hand"].AddMixingTransform(mixTransform);
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
void Start() {
Transform mixTransform = transform.Find("root/upper_body/left_shoulder");
animation["wave_hand"].AddMixingTransform(mixTransform);
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def Start():
mixTransform as Transform = transform.Find('root/upper_body/left_shoulder')
animation['wave_hand'].AddMixingTransform(mixTransform)