using UnityEngine;
using System.Collections;
public class SeamewController : MonoBehaviour
{
public float speed = 10f;
public Transform[] paths;
// Use this for initialization
void Start()
{
SeamewMove();
}
// Update is called once per frame
void Update()
{
}
public void SeamewMove()
{
Hashtable args = new Hashtable();
//设置路径的点
args.Add("path", paths);
args.Add("easeType", iTween.EaseType.linear);
//设置寻路的速度
args.Add("speed", speed);
//是否先从原始位置走到路径中第一个点的位置
args.Add("movetopath", true);
//如果你发现你的模型在寻路的时候始终都是一个方向那么一定要打开这个
args.Add("loopType", "loop");
args.Add("orienttopath", true);
//让模型开始寻路
iTween.MoveTo(gameObject, args);
}
void OnDrawGizmos()
{
//在scene视图中绘制出路径与线
iTween.DrawLine(paths, Color.yellow);
iTween.DrawPath(paths, Color.red);
}
}
注意:1.方法应该放在 Start()里面;
2.gameobject移动到终点后突然消失 ,只需将gameobject放在路径的最后一个点上就可以了,因为gameobject会去找第一个路径点,这样就是一个闭合的运动轨迹了。
本文介绍了如何在Unity3D中使用iTween插件,通过SeamewController脚本控制游戏对象沿预设路径平滑移动。在Start()函数中调用SeamewMove()方法,设置路径、速度、缓动类型等参数,并通过iTween.MoveTo()启动动画。OnDrawGizmos()辅助在Scene视图中绘制路径。为避免游戏对象到达终点后消失,将其位置设为路径的最后一个点,形成循环运动轨迹。
3020

被折叠的 条评论
为什么被折叠?



