おもちゃラボ

Unityで遊びを作ってます

iTween Visual Pathを使ってモーションパスを設定

iTweenにはエディタからモーションパスを設定できる「iTween Visual Path」というアセットがあります。これを使ってモーションパスを設定してみましょう。こんな感じの動かし方が出来ます。

iTweenをプロジェクトに追加しよう

まずはAsset StoreからiTweenをプロジェクトに追加してください。

次に「iTween Visual Path」を追加します。このアセットはAsset Storeでは提供されていないため、iTweenのサイトからUnityパッケージをダウンロードしてインストールします。

インポートできると、プロジェクトビューにPixelplacementフォルダができます。

f:id:nn_hokuson:20160830215141p:plain

モーションパスを設定しよう

モーションパスを設定したいオブジェクトを選択した状態で、メニューバーから「Component」→「PixelPlacement」→「iTweenPath」を選択すると、iTweenPathスクリプトが選択したオブジェクトにアタッチされます。

f:id:nn_hokuson:20160830215837p:plain


iTweenPathスクリプト中のNode Countの項目に必要なコントロールポイントの数を指定してから、エディタを使ってパスを設定していきます。Node1がモーションパスのスタート地点に来るように注意してください。

f:id:nn_hokuson:20160830220444p:plain

モーションパスにそって動かそう

最後に、オブジェクトを作成したモーションパスにそって動かすためのスクリプトを作成します。次のようなスクリプトを作成してください。

using UnityEngine;
using System.Collections;

public class PlaneController : MonoBehaviour {
	public int time=100;
	public string PathName="New Path 1";

	void Start () {
		iTween.MoveTo (this.gameObject, iTween.Hash (
			"path", iTweenPath.GetPath (PathName),
			"time", time, 
			"easeType", iTween.EaseType.linear,
			"orienttopath", true));
	}
}

ここで、iTweenに指定しているハッシュタグですが

  • path : iTweenPathスクリプトで指定したパスの名前(デフォルトではNew Path 1)
  • time:コントロールポイント間の移動時間
  • easeType:コントロールポイント間の移動タイプ
  • orienttopath:常に進行方向を向いて進むか

になります。

作成したスクリプトをアタッチしてください。アタッチしたスクリプトのTimeとPathNameを設定します。PathNameはiTweenPathで指定した名前と一致するようにします。

f:id:nn_hokuson:20160830221405p:plain


今回は飛行機のモデルをパスにそって動かしました。カメラにアタッチするとカメラがパスに沿って移動するのでカメラワークを指定するのがとても楽になります。


Unity5の教科書もよろしくです!^^