iTweenを使えば位置やスケールなどをパラメータの設定で簡単にアニメーションすることができます。
アセットストアからhttps://www.assetstore.unity3d.com/jp/#!/content/84 こちらのアセットをインストールします。
// 2秒かけてVector3(10, 0, 0)の位置まで移動する iTween.MoveTo( gameObject, new Vector3(10, 0, 0), 2.0f );
iTween.RotateTo( gameObject, iTween.Hash( "y", 180, "time", 3.0f ) );
iTween.ScaleTo( gameObject, iTween.Hash( "scale", 2, "time", 4.0f ) );
Hashtable table = new Hashtable(); // 事前にハッシュテーブルを用意しておく。 table.Add( "x", 100 ); table.Add( "y", 50 ); table.Add( "time", 10.0f ); iTween.MoveTo( gameObject, table );
アニメーションの開始、動作中、終了時に呼ばれるコールバック関数を登録することができます。
Hashtable hash = new Hashtable(); hash.Add("x", 10 ); hash.Add("time", 3 ); // アニメーション開始時 hash.Add("onstart", "OnStartCallBack"); // コールバック関数名 hash.Add("onstartparams", "Start"); // コールバック関数に渡す引数 hash.Add("onstarttarget", gameObject ); // コールバック関数を実装しているgameObject. // アニメーション動作中 hash.Add("onupdate", "OnUpdateCallBack"); hash.Add("onupdateparams", "Update"); hash.Add("onupdatetarget", gameObject ); // アニメーション終了時 hash.Add("oncomplete", "OnCompleteCallback"); hash.Add("oncompleteparams", "Complete"); hash.Add("oncompletetarget", gameObject ); iTween.MoveTo(start, hash ); // 開始時コールバック public void OnStartCallBack( string message ) { Debug.Log( message ); } // 動作中コールバック public void OnUpdateCallBack( string message ) { Debug.Log( message ); } // 終了時コールバック public void OnCompleteCallback( string message ) { Debug.Log( message ); }
// 2.0秒かけて値を0~100まで変化させる。 iTween.ValueTo(gameObject, iTween.Hash("from", 0, "to", 100.0f, "time", 2.0f, "onupdate", "ValueChange")); void ValueChange(float value) { Debug.Log(value); }