Unity:iTweenでObjectを目的地まで動かす、複数の経路を通りながら移動する

iTweenでObjectを目的地まで動かす、複数の経路を通りながら移動する方法の解説です。

 

iTweenとはposition、scale、rotationなどのプロパティを

自由かつ簡単にアニメーションさせることができるUnityのAssetです。

 

これを使えば自由な動き物理の知識などがなくてもさせることができるので、

動きをつけるときには最強と言っても過言ではないです。

iTweenのHPはこちらから

 

まず準備としてiTweenをUnityアセットストアで検索、ダウンロードし

importをしてください。準備はこれで完了なのでとても簡単です。

 

今回の記事の題名の目的地まで動かすを実装するには、

iTweenMoveToメソッドを使います。

 

またMoveToにはHashを使う複雑に動きを指定してあげる方法

Hashを使わない簡単に動きを指定してあげる2つの実装方法があります。

 

さっそく見ていきたいと思います。まずHashを使わない方法です。

 

iTween.MoveTo(GameObject target, Vector3 position, float time)

 

targetには動かしたい対象を、positionには最終到着座標のpositionを、

timeには何秒かけて移動するかを入力します。

つまりtargetを今いる位置からpositionにtime秒かけて移動するということです。

 

また複数の地点を経由して最終到着座標に移動したい場合は、positionのところに

Vector3の配列を渡せば順番に経由してくれます

 

例えば(1f,1f,1f)->(2f,2f,2f)と移動したい場合は、

 

Vector3[] path = new Vector3[2];

Vector3 pass[0]=new Vector3(1f,1f,1f);

Vector3 pass[1]=new Vector3(2f,2f,2f);

 

とし、この配列を先ほどのpositionのところに指定すれば、順番に移動してくれます。

 

今度はHashを使う方法です。

 

iTween.MoveTo(target,iTween.Hash(“path”,path,”time”,4,”easetype”,iTween.EaseType.easeOutSine));

 

上ののようにHashで動きを指定してあげています。ここではtimeまでは上と同じです。

 

easetypeについてですが、これは動かす軌跡の曲線の種類を指定してあげるものです。

たくさんの種類があるので省略しますが、自分の理想の曲線でtargetを動かすことができます。

 

またeasetypelooptypeにしてあげ、iTween.LoopType.loopを渡すと

start~end, end~start, start~end, end~start…のように折り返しながらループします。

往復する動きを書きたい時などにとても重宝します。

 

Hashで渡すほうがより複雑に仕様を設定できますが、 よりややこしくなります。

ただ到着座標までtargetを動かしたいだけならば前者のHashを使わないほうがお勧めです。

 

以上のように本来なら複雑な処理をコードで書かなければならないところを、

iTweenを使えば簡単に実装することができます。

 

またiTweenにはビジュアルエディタという実際に動きをUnityのエディター上で作成するツールも、

無料で使うことができるのでそちらもおすすめです。

マウス操作で簡単に複雑な動きを設定することができます。

 

一応動画も載せておきます。基本的な操作がわかると思います。

 

 

 

どんどんiTweenを使って、自分の思い道理の動きを表現したいですね

以上iTweenでObjectを目的地まで動かす、複数の経路を通りながら移動する方法でした。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です