アセットストアからダウンロードする
アセットストアから検索してダウンロード、インポートを行います。
DOTween Utility Panelのセットアップ
セットアップ前 | セットアップ後 |
---|---|
Setup DOTween...
をクリックしてセットアップを行います。
ライブラリをインポートする
using DG.Tweening;
Cubeなどの3Dオブジェクトをトゥイーンさせる
まず動かしたいオブジェクトのTransformを取得します。
自身のゲームオブジェクトのTransformを取得したい場合にはtransform
だけで取得できますが、別の特定のゲームオブジェクトのTransformを取得したい場合には.transform
や.GetComponent<Transform>()
などを使用してTransformを取得します。
Transform targetTransform = targetGameObject.transform;
あとはそのTransformにDOTweenのメソッドを実行します。
targetTransform.DOMove (new Vector3 (5f, 5f, 2f), 1f, false);
UIなどのRectTransformをトゥイーンさせる
まず要素からRectTransformを取得して、
RectTransform rectTransform = taerget.GetComponent<RectTransform>();
DOTweenのメソッドを実行します。
rectTransform.DOAnchorPos(new Vector2(100, 100), 2);
DOAnchorPos以外にも様々なメソッドが用意されています。
rectTransform.DOAnchorPos(new Vector2(100, 100), 2);//座標を移動させる(座標、秒)
rectTransform.DOAnchorPosX(100, 2);//X軸を移動させる(座標、秒)
rectTransform.DOAnchorPosY(100, 2);//Y軸を移動させる(座標、秒)
rectTransform.DOSizeDelta(new Vector2(0, 0), 2);//サイズを変更する(サイズ、秒)
rectTransform.DOJumpAnchorPos(new Vector2(rectTransform.anchoredPosition.x, rectTransform.anchoredPosition.y), 30.0f, 10, 2);//ジャンプさせる(座標、強さ、回数、秒)
rectTransform.DOPunchAnchorPos(new Vector2(0, 10.0f), 2, 10, 0.5f);//プルプルさせる(同じ方向に震える)(方向、時間、振動、弾性)
rectTransform.DOShakeAnchorPos(2, 10);//シェイクさせる(色々な方向に震える)(時間、力、振動、ランダム)
rectTransform.DOPivot(new Vector2(0, 0), 2);//Pivotの値を変更する(座標、秒)
rectTransform.DOPivotX(0, 2);//PivotのX値を変更する(座標、秒)
rectTransform.DOPivotY(0, 2);//PivotのY値を変更する(座標、秒)
rectTransform.DOAnchorMax(new Vector2(0, 0), 2);//AnchorsのMaxの値を変更する(座標、秒)
rectTransform.DOAnchorMin(new Vector2(0, 0), 2);//AnchorsのMinの値を変更する(座標、秒)
rectTransform.DOAnchorPos3D(new Vector3(100, 100, 100), 2);//AnchorPos3Dの値を変更する(座標、秒)
トゥイーン後にメソッドを実行する
rectTransform.DOAnchorPosX(100, 2).OnComplete(() => {
~
});
トゥイーンを遅延させる
rectTransform.DOAnchorPosX(100, 2).SetDelay(1);
トゥイーンのイージングを調整する
rectTransform.DOAnchorPosX(100, 2).SetEase(Ease.Linear);
rectTransform.DOAnchorPosX(100, 2).SetEase(Ease.InBack);
rectTransform.DOAnchorPosX(100, 2).SetEase(Ease.InOutExpo);
rectTransform.DOAnchorPosX(100, 2).SetEase(Ease.OutElastic);
トゥイーンを連続して実行する
...
数値などの値のみトゥイーンさせる
int before = 0;
int after = 10;
DOTween.To(
() => before,
(i) =>
{
print(i);
},
after,
1f
);