【Unity3D】【iTween】指定路径位移

分类栏目:unity3d教程

291

上一篇《【iTween】单点移动和旋转》介绍了如何使用iTween对Unity3D的物体实施位移、旋转等动画,如果在iTween中需要指定路径位移,建议再导入一个官方的iTweenPath插件,这东西还是在Asset Store有,而且免费,但我这种用和谐版Unity3D的人,还是只能用.unitypackage我也给大家上传了一份不用这插件,实现iTween指定路径位移也不是不行,就是过于麻烦。

先导入iTween,后导入iTweenPath之后,新建一个空物体GameObject。

【Unity3D】【iTween】指定路径位移

如图所示,给这个GameObject添加一个iTweenPath组件,并且将Path Name修改为Path1,而且在Node Count中输入5按回车,表示设置5个路径点。

路径点支持坐标输入,你也可以用左上角的位移工具拖动这些路径点。我这里别出心裁(非常逗比)地设置前4个点是抛物线,然后来个急坠。有了这些坐标点的设置,iTween动画不仅可以让物体沿抛物线位移,还可以以指数,对数位移都行,呵呵!

然后赋予一个处于(5,0,0)的cube如下的MovePath.cs脚本,让这个处于(5,0,0)的cube真正动起来:

 

using UnityEngine;

using System.Collections;

 

public class MovePath : MonoBehaviour

{

 

    void Start()

    {

 

        Hashtable args = new Hashtable();//存放iTween的参数

 

        args.Add("path", iTweenPath.GetPath("Path1"));//指定位移路径为Path1,这时候iTweenPath就发挥作用了

        args.Add("easeType", iTween.EaseType.linear);//设置动画类型为线性,平滑地在路径点中移动。

        args.Add("time", 5f);//5s内跑完这条路径

        args.Add("delay", 0.1f);//0.1s之后才开始 

        args.Add("movetopath", true);//要求物体先从原始位置走到路径中第一个点的位置,再跑这条路径

        args.Add("loopType", "loop");//循环做这个动作

 

        iTween.MoveTo(gameObject, args);//执行这个动画 

 

    }

 

}

执行效果如下所示:

【Unity3D】【iTween】指定路径位移