この記事でのバージョン
Unity 2022.2.8f1
DOTween Pro 1.0.381
DotweenのSetEase
Unityで位置や大きさなどのアニメーション、
いわゆるTweenを実装するアセットとしてお馴染みのDOTweenは、
DOTween Pro | Visual Scripting | Unity Asset Store |
SetEaseを使う事で値がどう変化するか、どう動くかを指定する事が出来ます。
transform .DOMove(Vector3.zero, 0.5f)//座標(0,0,0)に0.5秒かけて移動 .SetEase(Ease.OutBounce);//SetEaseでバウンドする動きを設定
なお、上記のようにEase.◯◯という形で用意されてる波形を使う事も出来ますし、
(SetEaseを使わない場合のデフォルトはOutBounce)
InspectorやプログラムからAnimationCurveを作成して、それを指定する事も出来ます。
//Inspectorで波形を指定する用 [SerializeField] private AnimationCurve _animationCurve;
transform .DOMove(Vector3.zero, 0.5f)//座標(0,0,0)に0.5秒かけて移動 .SetEase(_animationCurve);//Inspectorで指定した動きを設定
そしてタイトル通り、メソッドを指定してプログラムで制御する事も可能です
具体的には以下のように、返り値がfloatで引数に4つのfloatがあるメソッドを指定します。
//DoTween用のSetEase用メソッド private float GetEaseValue(float time, float duration, float overshootOrAmplitude, float period) { //時間が進んだ割合計算 var timeRate = time / duration; //基本ランダムな数値だが、時間が進むほど1に収束していく return UnityEngine.Random.Range(timeRate, 1.0f); }
transform .DOMove(Vector3.zero, 0.5f)//座標(0,0,0)に0.5秒かけて移動 .SetEase(GetEaseValue);//メソッドで動きを設定
これを使えば状況に応じて動的に動きを変えられますし、ランダムな動きも作りやすいです。