animation 秒に渡り他のアニメーションをフェードアウトさせながら animation という名のアニメーションをフェードインさせます。
PlayMode.StopSameLayerの場合、 animation と同じレイヤーのアニメーションは animation がフェードインしている間フェードアウトします。
PlayMode.StopAllの場合、 animation がフェードインしている間全てのアニメーションはフェードアウトされます。
アニメーションがループ設定になっていない場合、アニメーションを再生した後は再生位置は初期位置に戻り停止します。
// 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 ExampleClass : MonoBehaviour { void Example() { animation.CrossFade("Walk", 0.2F); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def Example() as void: animation.CrossFade('Walk', 0.2F)
他の例:
// 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 ExampleClass : MonoBehaviour { void Update() { if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1F) animation.CrossFade("Run"); else animation.CrossFade("Idle"); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def Update() as void: if Mathf.Abs(Input.GetAxis('Vertical')) > 0.1F: animation.CrossFade('Run') else: animation.CrossFade('Idle')