DOTweenProでオブジェクトを動かす
Tween系で有名な、DOTweenPROを使用してみました。以下みたいなアニメーションをかなり楽に作ることができます。なんか、装備している武器の変形とかかっこよくできそう。
やりたいこと
とりあえず、DOTweenでどんな事ができるのか調べてみたうえで、簡単にアニメーションを作成してみました。この記事では、DOTween初めての人が簡単に使えるように説明します。
使用したツール / 環境
- Unity 2018.13f1
- DOTween
やること
DOTweenの購入・インポート
下記はPROなので有償ですが、無償版もあります。
assetstore.unity.com
(無償版:DOTween (HOTween v2) - Asset Store)
オブジェクトの配置
今回は、Cube×2とEmptyObject×1です。
Cubeは以下の様に配置します
Empyを以下のように配置します。
ちなみに、Hierarchyは以下のようにしてください。
Emptyはpivotにリネームして、その子オブジェクトとして動かす方のCubeを配置します。
今回は、このpivotを回転させることで、いい感じに2つのCubeが繋がります。
実装
今回は、まずはCubeGroupを上にあげてから、pivotを軸に回転させるという処理をシーケンシャルに行うようにしています。
gist.github.com
基本的なコマンドは下記リンク先を参照してください。
qiita.com
今回は、この中でも処理を連続で実行している Sequence を使用しています。
これで、今回動かしたいCubeGroupをInspectorから指定します。
public GameObject cubeGroup;
SequenceにAppendでどんどん処理を加えていきます。そうすると、「これがおわったら次」といった感じで順に処理されていきます。今回は、まずは"CubeGroup"をY方向に動かして、次に"GetChild(1)"で取ってきたpivotを回転させています。DOMoveやDORotateはTransformコンポーネントの拡張メソッドなので、オブジェクト自身に対してはかけません。
Sequence sequence = DOTween.Sequence() .Append(cubeGroup.transform.DOMoveY(1,1)) .Append(cubeGroup.transform.GetChild(1).DORotate(new Vector3(180f,0f),0.5f));
感想
LeapMotionとかで表示される腕の横に配置して、ボタンを押すと変形するとか、、、かっこいいかも