Animation.CrossFade Manual     Reference     Scripting  
Scripting > Runtime Classes > Animation
Animation.CrossFade

function CrossFade (animation : String, fadeLength : float = 0.3F, mode : PlayMode = PlayMode.StopSameLayer) : void

Description

Fades the animation with name animation in over a period of time seconds and fades other animations out.

if mode is PlayMode.StopSameLayer, animations in the same layer as animation will be faded out while animation is faded in. if mode is PlayMode.StopAll, all animations will be faded out while animation is faded in.

If the animation is not set to be looping it will be stopped and rewinded after playing.

JavaScript
// Fade the walk cycle in and fade all other animations in the same layer out.
// Complete the fade within 0.2 seconds.
animation.CrossFade("Walk", 0.2);

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
void Example() {
animation.CrossFade("Walk", 0.2F);
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def Example():
animation.CrossFade('Walk', 0.2F)

Another example.
JavaScript
// Makes a character contains a Run and Idle animation 
// fade between them when the player wants to move
function Update () {
if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1)
animation.CrossFade("Run");
else
animation.CrossFade("Idle");
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
void Update() {
if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1F)
animation.CrossFade("Run");
else
animation.CrossFade("Idle");
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def Update():
if Mathf.Abs(Input.GetAxis('Vertical')) > 0.1F:
animation.CrossFade('Run')
else:
animation.CrossFade('Idle')