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

iTween

官方网站:http://itween.pixelplacement.com

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

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

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

iTween导入Unity

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该波形,其用于内插。这里是曲线的图形表示: 尝试实验,如果你不明白它是如何工作的。

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));

ScaleFrom,将物体的大小从提供的值变化到原来的大小

iTween.ScaleFrom(gameObject, iTween.Hash("x", 10f);

itwee scale的示例可查看:https://qiita.com/zob_by_zooa_inc/items/0632b292515c67e80b22

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:

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/

iTween for Unity的更多相关文章

  1. 【转】iTween for Unity

    http://www.cnblogs.com/zhaoqingqing/p/3833321.html?utm_source=tuicool&utm_medium=referral 你曾经在你的 ...

  2. UNDERSTANDING ITWEEN CALLBACKS

    One of the most frequent problems I see people have with iTween is with callbacks that don't fire. A ...

  3. unity开源移动库iTween使用完整Demo

    public Vector3[] paths; // Use this for initialization void Start () { paths = ] { , , ), , , -) }; ...

  4. unity, itween 对不透明对象使用FadeTo需要先更换material

    跟自己实现fade一样,使用itween对不透明对象FadeTo前也要先更换material为透明material. 设player的Hierarchy如下: player --aniRoot --- ...

  5. unity, itween, closed path

  6. Unity路径规划

    Unity路径规划  转自:http://www.cnblogs.com/zsb517/p/4090629.html 背景 酷跑游戏中涉及到弯道.不规则道路. 找来一些酷跑游戏的案例来看,很多都是只有 ...

  7. iTween研究院之学习笔记Move移动篇

             最近项目中需要加入一些模型移动的小动画,学习过程中发现了iTween这个类库.它主要的功能就是处理模型从起始点到结束点之间运动的轨迹.(移动,旋转,音频,路径,摄像机等)它是一个开源 ...

  8. Unity随机随学

    1.什么是渲染管道? 是指在显示器上为了显示出图像而经过的一系列必要操作.渲染管道中的步骤很多,都要将几何物体从一个坐标系中变换到另一个坐标系中去. 主要步骤有: 本地坐标->视图坐标-> ...

  9. Unity 游戏资源ktx转换png

    Unity 开发的模型贴图都是.ktx格式的,提取出来的资源,其中的ktx资源,用PVRTexToolGUI.exe可以打开查看,可以发现都是上下颠倒,且被拉伸 直接转为png格式的批处理脚本为: @ ...

随机推荐

  1. Java异常处理设计(三)

    接着上一篇讲. 一个异常日志处理的例子: 抛出异常的地方为: try{ ... ...//省略N行 }catch( Exception e){ throw new RuntimeException ( ...

  2. python zip压缩文件 并移动到指定目录

    需要引入的3个包: import os import shutil import zipfile 1. # 创建zip文件对象your_zip_file_obj = zipfile.ZipFile(' ...

  3. Asp.Net Core微信服务中间件-.NetCore2.1

    又封周末,闲暇无聊,随手写了一个关于微信公众号服务的中间件,基于.NetCore2.1.服务类库采用.Net Standard2.0,兼容.net 4.6.1. 整体思路是,设计一个中间件,提供微信消 ...

  4. Linux编程 6 (查看进程 ps 及输出风格)

    一.查看进程命令ps 1.1 默认ps 命令 在默认情况下,ps命令只会显示运行在当前控制台下,属于当前用户的进程,在上图中,我们只运行了bash shell以及ps命令本身. 上图中显示了程序的进程 ...

  5. 使用mybatis中的自定义TypeHandler处理PostgreSQL中的Json类型字段

    业务扩展字段在PostgreSQL数据库中经常会使用json格式的数据来存储,然而mybatis默认是没有实现json类型字段对应的TypeHandler,所以一般我们需要自定义mybatis的Typ ...

  6. 这是一位拿到BAT大厂offer应届生的年终总结,那么你的呢?

    壹 关于求职 2018年初,我还在北京后厂村的马路上被风吹得瑟瑟发抖. 那时我刚刚结束了半年的实习时光,开始考虑年后是否要继续实习.一开始我也在纠结实习转正和秋招之间如何权衡,但是在经历了春招以后,我 ...

  7. 构建Docker Compose服务堆栈

    1.安装了docker-compose,现在我们要使用docker-compose来运行容器栈.这个地方会有两个容器,一个容器中使用Flask搭建的简单应用,另一个容器是Redis,Flash会向re ...

  8. 基于vue框架手写一个notify插件,实现通知功能

    简单编写一个vue插件,当点击时触发notify插件,dom中出现相应内容并且在相应时间之后清除,我们可以在根组件中设定通知内容和延迟消失时间. 1. 基础知识 我们首先初始化一个vue项目,删除不需 ...

  9. nopCommerce 3.2新功能

    NopCommerce版本3.20,上周被释放,对于那些你谁还不熟悉新版本或刚经过脱脂发行说明我们的新功能的详细介绍. 在nopCommerce 3.20新功能的工作往往需要某些设置或语言资源的快速修 ...

  10. Ado.Net实体数据模型EF,如何在代码中添加数据库连接密码

    在创建EF模型的时候,VS2013提示说“在连接字符串中存储敏感数据可能有安全风险”,于是我选择了在代码中添加,可是如何通过代码添加呢? 我在网上百度了下,没有人说的清楚直观. 假设我们创建了一个名字 ...