1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UnityのiTweenを試してみる その4 Shake系

Last updated at Posted at 2018-05-18

株式会社ZOOA(ゾーア)のzobです。[@twitter]

弊社はフリーランスや、個人事業主、給料UPを目指している方向けに高単価求人案件配信サイト(ZOB)も運営しておりますので是非ご覧ください!

前回に引き続き、iTweenを色々と試してみました。

iTween

今回はShake系のメソッドを試してみました。

検証で使用したUnityバージョンは以下の通りです。
Unity2018.1.0f2

Shake系メソッド

Shake系メソッドは、簡単に言えばオブジェクトを揺らすアニメーションができるメソッドです。
FPSでダメージを受けたときにカメラを揺らしたい、ということがスクリプト一つで簡単に実現可能です。

iTween.ShakePosition

ShakePositionは、指定した値の範囲内で揺らすように移動するアニメーションです。

iTween.ShakePosition(gameObject, iTween.Hash("x", 5f));

image.gif

値はX,Y,Zの3つを指定できます。

iTween.ShakePosition(gameObject, iTween.Hash("x", 5f, "y", 5f, "z", 5f));

X,Y,Zは一つしか指定できないようです。以下のように複数指定するとエラーが発生します。

iTween.ShakePosition(gameObject, iTween.Hash("x", 5f, "x", 10f));

Add系のように、連続でアニメーションさせることが可能のようです。
以下のサンプルコードを試してみます。

iTween.ShakePosition(gameObject, iTween.Hash("x", 5f, "time", 3f));
iTween.ShakePosition(gameObject, iTween.Hash("x", 10f, "y", 10f, "time", 3f, "delay", 1.5f));

image.gif

最初左右に揺れた後、上下に激しく揺れます。

iTween.ShakeRotation

ShakeRotationは角度を指定した値の範囲で揺らします。

iTween.ShakeRotation(gameObject, iTween.Hash("x", 360f));

以下のサンプルコードを試してみました。

iTween.ShakeRotation(gameObject, iTween.Hash("x", 360f, "y", 360f));

image.gif

値はX,Y,Zの3つを指定できます。

iTween.ShakeRotation(gameObject, iTween.Hash("x", 360f, "y", 360f, "z", 360f));

Add系のように、連続でアニメーションさせることが可能のようです。
以下のサンプルコードを試してみます。

iTween.ShakeRotation(gameObject, iTween.Hash("x", 90f, "time", 3f));
iTween.ShakeRotation(gameObject, iTween.Hash("x", 360f, "y", 360f, "time", 3f, "delay", 1.5f));

image.gif

iTween.ShakeScale

ShakePositionは、指定した値の範囲内で揺らすように拡大・縮小するアニメーションです。
オブジェクトがビヨーン、ビヨーンと伸び縮むする感じです。

iTween.ShakeScale(gameObject, iTween.Hash("x", 3f));

image.gif

値はX,Y,Zの3つを指定できます。

iTween.ShakeScale(gameObject, iTween.Hash("x", 3f, "y", 3f, "z", 3f));

Add系のように、連続でアニメーションさせることが可能のようです。
以下のサンプルコードを試してみます。

iTween.ShakeScale(gameObject, iTween.Hash("x", 3f, "time", 3f));
iTween.ShakeScale(gameObject, iTween.Hash("x", 3f, "y", 3f, "time", 3f, "delay", 1.5f));

image.gif

まとめ

Shake系を一通り試してみました。揺らすアニメーションがここまで簡単に実装できるのはすごくいいです! 色々と使えそうなメソッドです!

次回もiTweenの検証結果を書いていきます!

・技術検証協力 荻野雄季(Twitter, Qiita)


UnityのiTweenを試してみる
その1 Move系
その2 Rotate系
その3 Scale系
その4 Shake系←今ココ
その5 Punch系


株式会社ZOOA(ゾーア)
弊社はフリーランスや、個人事業主に特化したSES案件共有サイト(ZOB)も運営しておりますので給料UPを目指している方は是非こちらもご覧ください!


1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?