iTween for Unity

简介:



 

 

itween

你曾经在你的游戏中制作过动画吗?问这个问题可能是愚蠢的,几乎每个Game都有动画,虽然有一些没有,但你必须处理有动画和没有动画。让我们结识 ITween

iTween


官方网站:http://itween.pixelplacement.com
ITween只有一个文件,它提供了多种方法。它们可以被用来不仅在场景动画的对象,同时也改变自己的颜色,大小,位置,方向, 让我们尝试模拟一个很小的范围内进行我们的测试。

首先连接ITween的Asset Storehttps://www.assetstore.unity3d.com/en/#!/content/84

在Unity中,我们应该看到像这样: 用以下内容创建一个新的阶段: Cube-这是我们将要进行动画处理的对象。

iTween导入Unity

image image

Tween示例

    void Start()
    {
        iTween.RotateFrom(gameObject, iTween.Hash("y", 90.0f, "time", 2.0f, "easetype", iTween.EaseType.easeInExpo));
        iTween.MoveFrom(gameObject, iTween.Hash("y", 3.5f, "time", 2.0f, "easetype", iTween.EaseType.easeInExpo));
        iTween.ShakePosition(Camera.main.gameObject, iTween.Hash("y", 0.3f, "time", 0.8f, "delay", 2.0f));
        iTween.ColorTo(gameObject, iTween.Hash("r", 1.0f, "g", 0.5f, "b", 0.4f, "delay", 1.5f, "time", 0.3f));
        iTween.ScaleTo(gameObject, iTween.Hash("y", 1.75f, "delay", 2.8f, "time", 2.0f));
        iTween.RotateBy(gameObject, iTween.Hash("x", 0.5f, "delay", 4.4f));
        iTween.MoveTo(gameObject, iTween.Hash("y", 1.5f, "delay", 5.8f));
        iTween.MoveTo(gameObject, iTween.Hash("y", 0.5f, "delay", 7.0f, "easetype", iTween.EaseType.easeInExpo));
        iTween.ScaleTo(gameObject, iTween.Hash("y", 1.0f, "delay", 7.0f));
        iTween.ShakePosition(Camera.main.gameObject, iTween.Hash("y", 0.3f, "time", 0.8f, "delay", 8.0f));
        iTween.ColorTo(gameObject, iTween.Hash("r", 0.165f, "g", 0.498f, "b", 0.729f, "delay", 8.5f, "time", 0.5f));

        iTween.CameraFadeAdd();
        iTween.CameraFadeTo(iTween.Hash("amount", 1.0f, "time", 2.0f, "delay", 10.0f));
    }

Tween效果

脚本分析

运行并查看结果。还不错,不是吗? 让我们一行一行来分析脚本。

RotateFrom

iTween.RotateFrom(gameObject, iTween.Hash("y", 90.0f, "time", 2.0f, "easetype", iTween.EaseType.easeInExpo));

方法RotateFrom用来旋转一个对象。不像RotateToRotateByRotateFrom用于初始化指定角度的旋转和旋转到其原始状态。方法,最喜欢的人,有过载。您可以使用一个或长或短的版本:

RotateFrom(GameObject target, Vector3 rotation, float time);
    RotateFrom(GameObject target, Hashtable args);

 iTween.Hash

我们通过游戏对象 -对象,它是当前脚本。为了不写类似:
Hashtable args = new Hashtable();
   args.Add(“y”, 90.0f);
   args.Add(“time”, 2.0f);
   args.Add(“easetype”, iTween.EaseType.easeInExpo);
 
我们使用iTween.Hash - Express版本的Hashtable。正如我们的参数Y = 90.0f,它是等价的(如果x和z的值,当然为零,)
Quaternion.Euler( new Vector3(0f, 90.0f, 0f) )

Tween曲线

转错了要开始我们旋转 time=2.0f

时间必须在动画度过的。还有名为“类似的说法速度 “,在他的案件是不是指定的时间,并在该动画将运行速度。最后一个参数,我们指出,easetype = iTween.EaseType.easeInExpo。easetype该波形,其用于内插。这里是曲线的图形表示: 尝试实验,如果你不明白它是如何工作的。

easeType

MoveFrom

MoveFrom类似于以前,应该简单地理解用来代替旋转运动。

iTween.MoveFrom(gameObject, iTween.Hash("y", 3.5f, "time", 2.0f, "easetype", iTween.EaseType.easeInExpo)); 
 

ShakePosition

ShakePosition用在这种情况下,以贯彻落实“惊天”的相机。此方法将导致通过降低幅度移动的对象,不使用插值,对象将在他指定的部分出现在随机点。有一种所谓“新说法延迟 “,这是很重要的动画选项用于指定秒的动画之前必须经过数。

iTween.ShakePosition(Camera.main.gameObject, iTween.Hash("y", 0.3f, "time", 0.8f, "delay", 2.0f));

ColorTo

ColorTo顺利改变物体的颜色随着时间的推移。

iTween.ColorTo(gameObject, iTween.Hash("r", 1.0f, "g", 0.5f, "b", 0.4f, "delay", 1.5f, "time", 0.3f));

ScaleTo

ScaleTo,从方法的名称作为看出,改变对象的大小。

iTween.ScaleTo(gameObject, iTween.Hash("y", 1.75f, "delay", 2.8f, "time", 2.0f));

RotateBy

RotateBy提醒RotateFrom,有必要在那些需要部署超过360度(尽管,在这种情况下,可以通过进行分配情况RotateTo)。假设我们已经指定Z = 2.0F,那岂不是对象应转了两圈绕Z轴的一段时间。

iTween.RotateBy(gameObject, iTween.Hash("x", 0.5f, "delay", 4.4f));

MOVETO

MOVETO,或许,整个类的main方法的ITween。他移动的对象在规定的时间指定的坐标。插值是根据所有相同的easetype,你已经知道了。 以下新方法:

iTween.MoveTo(gameObject, iTween.Hash("y", 1.5f, "delay", 5.8f)); iTween.MoveTo(gameObject, iTween.Hash("y", 0.5f, "delay", 7.0f, "easetype", iTween.EaseType.easeInExpo));

CameraFadeAdd

CameraFadeAdd创建一个用于模拟停电一个新的对象。深度变化从当前值到指定的参数。以下过载:

iTween.CameraFadeAdd(); iTween.CameraFadeTo(iTween.Hash("amount", 1.0f, "time", 2.0f, "delay", 10.0f));

CameraFadeAdd()

CameraFadeAdd(Texture2D texture)

CameraFadeAdd(Texture2D texture, int depth)

示例二

如果没有的Texture2D,将使用黑色。 从我所没有描述,也有重要的点。例如,该参数可以指定将在事件发生时调用的方法。假设:

public class iTweenController : MonoBehaviour
{
    int clbkN = 0;
    GUIStyle style;

    void Awake()
    {
        style = new GUIStyle();
        style.fontSize = 60;
    }

    void Start()
    {
        iTween.MoveTo(gameObject, iTween.Hash("position", new Vector3(5.0f, 1.0f, 0.0f), "oncomplete", "myClbk",
            "loopType", iTween.LoopType.loop, "speed", 2.0f));
    }

    void myClbk()
    {
        clbkN++;
    }

    void OnGUI()
    {
        GUI.Label(new Rect(10, 10, 0, 0), "Callback # "+clbkN, style);
    }
}

运行结果

其结果将是: 我注意到,新论点的方法MOVETO:

moveTo

position = new Vector3(5.0f, 1.0f, 0.0f)

这是一个简短的记录,有关“X”,5.0F,“Y”,1.0F,“Z”,0.0F

oncomplete = "myClbk"

一旦动画(或者动画循环迭代)方法被调用具有指定名称

loopType = iTween.LoopType.loop

观看动画。在这种情况下,设置的正常循环,该动画将被不断地发挥,在每一个动画被移动到起始位置的起始处。 这可能是完成的。谢谢大家的关注。

文档资料

外文原文:http://habrahabr.ru/post/220837/


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/3833321.html,如需转载请自行联系原作者

相关文章
|
4月前
|
JSON C# 图形学
Unity——LitJSON的安装
Unity——LitJSON的安装
140 0
|
9月前
|
数据可视化 JavaScript 前端开发
unity
Unity是一款广泛应用于游戏开发和虚拟现实领域的强大游戏引擎,它提供了一个全面的开发工具集,使开发者能够创建出令人惊叹的交互式体验。本文将介绍Unity引擎的特点、功能和应用领域,并探讨其为游戏开发者和创作者带来的潜力。
|
图形学
Unity 之 超级实用的小技巧
你不知道却超好用的使用Unity使用技巧
142 0
Unity 之 超级实用的小技巧
|
图形学 容器
有趣而又被忽略的Unity技巧
一个常见的工作情景是我们在调整场景内的某些组件参数时,没有注意到自己是在Play Mode的模式下进行的,从而导致修改没有被保存下来。这个问题的关键在于是我们没有意识到自己已经处在Play Mode,如果我们能够在修改参数的时候,清楚的意识到自己处于Play Mode,那么我们自然可以通过Copy Component来保存数据或者是选择在Editor Mode进行修改。
971 0
|
算法 测试技术 图形学
unity的一些重要技巧
统一所有的模型的面朝向(Z轴正向或者反向) 对于所有具有面朝向的对象(例如角色)都应该遵守这一条。在统一面朝向的前提下,很多算法可以简化。 在开始就把Scale搞正确 请美术把所有导入的缩放系数设置为1,并且把他们的Transform的Scale设置为1,1,1。
955 0
|
图形学 Windows
Unity小技巧介绍
技巧一为字段声明的代码中加上[Tooltip(“XX”)]属性声明,在检视面板中,当鼠标悬停在字段名上,会出现Tooltip中指定的提示信息,让策划人员能更好地理解字段代表的意思。技巧二在层级视图中选中游戏对象,按快捷键Shift + Alt + A可以快速设置对象激活状态。
1194 0
|
图形学
Unity等待写入数据
EasyTouch中QuickGesture的用法 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
940 0
|
图形学 Ubuntu