DOTweenを利用してトゥイーンさせる

アセットストアからダウンロードする

アセットストアから検索してダウンロード、インポートを行います。

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
);