環境
Unity 5.0.1f1 Personal.iTween Visual Editor.
※Asset Storeからインポート。
概要
乗り物等の移動物をちょっと動かす際に便利。移動経路の作成にはAsset Store にある iTween Visual Editor を使用。
(参考: iTweenパス上をユーザー操作で移動するサンプル)
結論から言ってしまうと、
iTween.MoveTo(gameObject, table);
で、引き渡す table に、
table.Add( "orienttopath", true ); table.Add( "lookTime", 1.0f );
を追加するだけでできてしまう。
lookTime で与える数値で姿勢転換の強度を指定。
- 小さい値: 姿勢転換が早くなる。
- 大きい値: 姿勢転換が緩やかになる。
姿勢転換の挙動は移動パスのカーブの孤の大きさや、移動速度(time)にも関係するので要調整。
移動するオブジェクトの向き(XYZ)と姿勢の関係は、
- Z+: 前
- Y+: 上
- X+: 右
サンプル
サンプルソース
-----
/* * @file csMoveHeadingToPath.cs * @note None * @attention * [csMoveHeadingToPath.cs] * Copyright (c) [2015] [Maruton] * This software is released under the MIT License. * http://opensource.org/licenses/mit-license.php */ using UnityEngine; using System.Collections; public class csMoveHeadingToPath : MonoBehaviour { string pathName = "MyPath"; float pathTime = 18.0f;//5.0f Hashtable table = new Hashtable(); void SetupPath(){ table.Add( "path", iTweenPath.GetPath(pathName) );//ITween path hash data table.Add( "time", pathTime ); table.Add( "easetype", iTween.EaseType.easeInOutSine ); table.Add( "onstart", "cb_iTweenStart" ); //Handler func when iTween start table.Add( "onstartparams", "Start" ); //parameter of Handler func when iTween start table.Add( "oncomplete", "cb_iTweenComplete" ); //Handler func when iTween end table.Add( "oncompleteparams", "Complete" ); //parameter of Handler func when iTween end table.Add( "orienttopath", true ); //Head to forwarding vector (*Important*) table.Add( "lookTime", 1.0f ); //Time value for heading nose (*Important*) iTween.MoveTo(gameObject, table); } void cb_iTweenStart(string param){ Debug.Log("[iTween] cb_iTweenStart: "+param); } void cb_iTweenComplete(string param){ Debug.Log("[iTween] cb_iTweenComplete: "+param); iTween.MoveTo(gameObject, table);//Restart iTween. } void Start () { SetupPath(); } void Update () { } }-----
Unity5用プロジェクトのダウンロード。
Git-Hub:https://github.com/maruton/Sample_iTween_HeadingPath
0 件のコメント:
コメントを投稿