Skip to content

usam1111/TweenAssistance

Repository files navigation

TweenAssistance

日本語 / English

UnityPackage

TweenAssistance の概要

  • アニメーションさせる際のコード量を減らすツールです。
  • トゥイーンの開始値と終了値をインスペクタで設定しておいて、コードで開始値を0、終了値を1とした場合の0~1を指定します。(0~1の範囲外の数値も可能)
  • 下記のトゥイーンに対応しています。
    • maskableGraphic.color
    • maskableGraphic.color.a
    • transform.localScale
    • transform.localPosition
    • transform.localEulerAngles
  • トゥイーン開始時は SetActive(true) が呼ばれ、トゥイーン終了時に値が開始値(0)の場合は SetActive(false) が呼ばれます。
  • DOTween を使ってトゥイーンさせているので、別途DOTweenのインポートが必要です。

使用のメリット・デメリット

メリット

  • アクティブ状態のオン・オフの切り替えは、トゥイーンの開始時と終了時に自動で行われる。
  • 位置をトゥイーンさせる際、開始位置や終了位置を変数で持たせるひと手間をインスペクタに入力して済ませられる。

デメリット

  • インスペクタで指定した開始値と終了値を繋ぐ値以外へトゥイーンさせることはできない。
    • 特にカラーの場合、開始カラーを白、終了カラーを赤にした場合、青へトゥイーンさせることはできない等、自由度が低くなる。
  • パフォーマンスはDOTweenを直接使うよりも少しだけ重い。

使い方

インスペクタ

動かしたいオブジェクトにTweenAssistanceコンポーネントを追加し、インスペクタで設定します。

  • inactiveOnAwake : 起動時にアクティブ状態をオフにするか
  • useColor
    • ColorType.None : 色をトゥイーンさせない
    • ColorType.Alpha : アルファ値のみトゥイーンさせる
      • startAlpha : 開始アルファ(maskableGraphic.color.a)
      • endAlpha : 終了アルファ(maskableGraphic.color.a)
    • ColorType.Color : 色をトゥイーンさせる
      • startColor : 開始カラー(maskableGraphic.color)
      • endColor : 終了カラー(maskableGraphic.color)
  • useScale : スケールをトゥイーンさせるか
    • startScale : 開始スケール(transform.localScale)
    • endScale : 終了スケール(transform.localScale)
  • usePosition : 位置をトゥイーンさせるか
    • startPosition : 開始位置(transform.localPosition)
    • endPosition : 終了位置(transform.localPosition)
  • useRotation : 角度をトゥイーンさせるか
    • startEulerAngles : 開始角度(transform.localEulerAngles)
    • endEulerAngles : 終了角度(transform.localEulerAngles)

コード

using

using Itach.TweenAssistance;

インスペクタを使い、動かしたいオブジェクトのTweenAssistanceコンポーネントの参照を登録しておきます。

[SerializeField] private TweenAssistance imageObj = default;

登録したトゥイーンを実行する

imageObj.Animate(endValue: 1f, duration: 0.5f, ease: Ease.OutQuart);

Animate関数の引数

引数名 必須か 説明
startValue float インスペクタで登録した開始値を0、終了値を1とした場合のトゥイーンが始まる値
endValue 必須 float インスペクタで登録した開始値を0、終了値を1とした場合のトゥイーンが終わる値
duration 必須 float トゥイーンの秒数
ease DG.Tweening.Ease イージングの種類
delay float 遅延させる秒数(Animete関数を使った時点でGameObjectのアクティブ状態がオンになる点に注意)
flag TweenFlag Color, Scale, Position, Rotation を組み合わせるビットフラグ(どれをトゥイーンさせるか)

カラーのみトゥイーンさせる

imageObj.AnimateColor(1f, 0.5f);

スケールのみトゥイーンさせる

imageObj.AnimateScale(1f, 0.5f);

位置のみトゥイーンさせる

imageObj.AnimatePosition(1f, 0.5f);

角度のみトゥイーンさせる

imageObj.AnimateRotation(1f, 0.5f);

トゥイーン終了時に、Animate関数の引数endValueが0の場合でも自動でアクティブ状態をオフにしない
デフォルトは autoInactiveOnComplete = true

imageObj.autoInactiveOnComplete = false;

About

Use the inspector to reduce Tween animation code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages