初めまして、株式会社ZOOA(ゾーア)のzobと申します。[@twitter]
弊社はフリーランスや、個人事業主、給料UPを目指している方向けに高単価求人案件配信サイト(ZOB)も運営しておりますので是非ご覧ください!
本日より技術ブログをQiitaで色々と書いていきますので、よろしくお願いいたします。
弊社で検証した結果をドンドンQiitaに書いていきます!
iTween
iTweenはUnityで有名なライブラリの一つです。
オブジェクトを、スクリプトでアニメーションさせたい時にとっても便利です!
検証で使用したUnityバージョンは以下の通りです。
Unity2018.1.0f2
今回はiTweenで基本となる移動系のメソッドを一通り検証したのでまとめてみました。
iTween.MoveTo
MoveToは指定した座標位置にアニメーション移動します。
使い方は以下の通りです。
iTween.MoveTo(gameObject, iTween.Hash("x", 5f));
public class iTweenTest: MonoBehaviour
{
void Start ()
{
// Start時にX座標5まで移動
iTween.MoveTo(gameObject, iTween.Hash("x", 5f));
}
}
上記スクリプトでは、X座標の5の位置まで移動します。
※現時点のX座標から5を加える、という意味ではないので注意
ここまで移動します。たった一行で移動アニメーションができるのはいいですね!
iTween.Hashは、以下の通り複数の値を指定できます。
iTween.MoveTo(gameObject, iTween.Hash("x", 5f, "y", 5f));
iTween.MoveTo(gameObject, iTween.Hash("x", 5f, "z", 5f));
iTween.MoveTo(gameObject, iTween.Hash("y", 5f, "z", 5f));
XYZ座標3つ指定することができます。
iTween.MoveTo(gameObject, iTween.Hash("x", 5f, "y", 5f, "z", 5f));
以下のように、Hashで同じ座標を2回以上指定すると動かない(エラーが出る)ので注意が必要です。
iTween.MoveTo(gameObject, iTween.Hash("z", 5f, "z", -15f));
iTween.MoveUpdate
MoveUpdateはMoveToと同じ指定した座標位置にアニメーション移動します。
iTween.MoveUpdate(gameObject, iTween.Hash("x", 5f));
MoveToとの違いは、Updateで呼ばないと移動アニメーションされないという点です。
public class iTweenTest: MonoBehaviour
{
void Update ()
{
// Update時にX座標5まで移動
iTween.MoveUpdate(gameObject, iTween.Hash("x", 5f));
}
}
※StartでMoveUpdate呼び出し
すごくわかりにくいですが、ほんの少しだけ動いています。
MoveUpdateはマウス座標、タッチした座標に移動する等、動的に移動座標が変わる時に使うと便利です。
iTween.MoveFrom
MoveFromは指定した座標位置から現在の座標位置に移動します。
iTween.MoveFrom(gameObject, iTween.Hash("x", 5f));
iTween.MoveBy
MoveByは現在の座標から指定した値だけ移動します。
iTween.MoveBy(gameObject, iTween.Hash("x", 5f));
MoveToと比べると、MoveByの移動位置の違いがわかると思います。
iTween.MoveAdd
MoveAddもMoveByと同じく現在の座標から指定した値だけ移動します。
iTween.MoveAdd(gameObject, iTween.Hash("x", 5f));
MoveByとの違いは、iTweenのアニメーション実行中でも利用が可能という点です。
わかりやすい例として、以下のスクリプトを試してみましょう。
iTween.MoveBy(gameObject, iTween.Hash("x", 10f, "time", 3f));
iTween.MoveAdd(gameObject, iTween.Hash("y", 5f, "time", 1f, "delay", 0.5f));
iTween.MoveAdd(gameObject, iTween.Hash("y", -5f, "time", 1f, "delay", 1f));
まとめ
iTweenを利用することで、移動アニメーションをスクリプトで制御させることが簡単に実現可能です。
次回もiTweenの検証結果をまとめていきたいので、今後ともよろしくお願いします!
UnityのiTweenを試してみる
その1 Move系←今ココ
その2 Rotate系
その3 Scale系
その4 Shake系
その5 Punch系
株式会社ZOOA(ゾーア)
詳細はこちら