from2001vrです。
iTweenを使うと、オブジェクトを簡単に自由に移動させることが可能です。そのiTweenの移動Pathを画面を見ながらヴィジュアル作成できるエディタの使い方です。Unityで自由自在にカメラを動かしたり、オブジェクトを移動させることができます。
まず、iTweenとVISUAL ITWEEN PATH EDITORアセットをプロジェクトに追加します。VISUAL ITWEEN PATH EDITORはアセットストアでは公開していないので、ウェブサイトからPackageファイルをダウンロードしプロジェクトに追加します。
どのオブジェクトでもいいので選択した状態でiTweenPathスクリプトをメニューから追加します。今回はカメラにスクリプトを追加しました。
インスペクターウィンドウでPath Nameを設定(”Path1″)。Node Countをスプライン曲線で利用したいノード数を指定。シーンビューでノードを移動させるとノードをつなぐようにスプライン曲線が作成されます。
以上で準備は完了です。
では作成したスプライン曲線に合わせてカメラを移動します。
新しいC#スクリプトを作成し”MoveScriptOnSpline”とでも名づけます。下記のコードを入力します。
using UnityEngine; using System.Collections; public class MoveScriptOnSpline : MonoBehaviour { public int time=100; public string PathName="Path1"; // Use this for initialization void Start () { iTween.MoveTo (this.gameObject, iTween.Hash ("path", iTweenPath.GetPath (PathName), "time", time)); } }
作成したMoveScriptOnSplineスクリプトをスプライン曲線に沿って移動させたいオブジェクトに追加します。今回はカメラを移動させたいのでカメラにスクリプトを追加します。
Path Nameには作成したスプライン曲線の名前を指定します。
以上で完成です。実行するとスプライン曲線に合わせてカメラがスムーズに移動します。
追記2015/01/31
上記の例ではカメラは常に一定方向を向いたままになります。カメラの視点パスも同様に用意しカメラ視点がそのパスに追従する例を見て行きましょう。iTweenPathを2つ用意して、一つをカメラ移動用に、もう一つをカメラ視線先を移動するように利用します。
CameraTargetというからオブジェクトを用意し、iTweenPathを作成します。そして、下記のコード(CameraTargetMoveScriptOnSpline)を作成し貼り付けます。
using UnityEngine; using System.Collections; public class CameraTargetMoveScriptOnSpline : MonoBehaviour { public int time=100; public string PathName="CameraTarget"; void Start () { iTween.MoveTo (this.gameObject, iTween.Hash ("path", iTweenPath.GetPath (PathName), "time", time)); } }
MainCameraにも同様にiTweenPathを作成し、下記のコード(CameraMoveScriptOnSpline_with_lookat)を作成し貼り付けます。
using UnityEngine; using System.Collections; public class CameraMoveScriptOnSpline_with_lookat : MonoBehaviour { public int time=100; public string PathName="Path1"; public GameObject targetObj; void Start () { iTween.MoveTo (this.gameObject, iTween.Hash ("path", iTweenPath.GetPath (PathName), "time", time)); } void Update(){ this.gameObject.transform.LookAt (targetObj.transform); } }
インスペクタービューでカメラ視点の対象をTargetに指定します。(ヒエラルキービューからCameraTargetをドラッグしてください)
実行するとカメラの視点が移動しながらカメラ自身が移動するのも確認できると思います。