itween插件

itween是一个动画库,作者创建它的目的就是最小的投入实现最大的产出。用它可以轻松实现各种动画,晃动,旋转,移动、褪色、上色、控制音频等。

iTween原理:

itween的核心是数值差值,就是给Itween两个数值(开始值,结束值),它会自动生成一些中间值,只需要定义开始和结束值,中间的过程itween就会自动帮我们设置完成。这里的数值可以理解为数字,坐标点,角度,物体大小,物体颜色,音量大小等。

iTween应用:

(1)在项目中建立Plugins目录,然后将下载的ITween.cs放到Plugins目录即可。

(2)如果需要编辑路径,可以导入ITweenPath.Unitypackage资源包。

iTween介绍:

iTween的公共操作接口均以静态方法的形式提供,可分为三大类:

1.静态注册方法:提供注册动画效果的静态方法接口有12种

动画方法8种:Fade、 Look、Move、Rotate、Scale、Punch、Shake、CameraFade

音频方法2种:Audio、Stab

颜色变化方法1种:Color

值变化方法1种:ValueTo

每种动画又有一种或多种执行方式(To、From、Add、By)

(1)MoveTo:从原位置移动到目标位置

(2)MoveFrom:从目标位置移动到原位置

(3)MoveAdd:随时间移动游戏对象的位置,根据提供的量

(4)MoveBy:增加提供的坐标到游戏对象的位置,与MoveAdd一样

注:每种方法一般有两种重载方式,最小定制选项和完全定制选项。

最小定制选项:只需提供最小必需参数

完全定制选项:可定制所有参数

2.Update静态方法

提供每帧改变属性值的环境。在Update或FixedUpdate方法或类似于循环的环境中调用。

如:MoveUpdate、AudioUpdate等。

3.外部工具方法:包括动画控制、路径绘制等。

动画控制有:Pause暂停、Resume恢复、Stop停止并销毁iTween。

绘制方法有:

  1. DrawLine:绘制线条,使用Gizmos.DrawLine
  2. DrawLineGizmos:与DrawLine相同
  3. DrawLineHandles:使用UnityEditor.Handles.DrawLine
  4. DrawPath:绘制弯曲路径
  5. DrawPathGizmos:与DrawPath相同
  6. DrawPathHandles:使用UnityEditor.Handles.DrawLine

注:绘制方法只能在OnDrawGizmos()和OnDrawGizmosSelected()中调用,用于在Scene视图中绘制线条和路径。

其他方法有:

  1. Count:返回iTween的数量
  2. PathLength:返回了路径的长度
  3. PutOnPath:根据提供的百分比将游戏物体置于所提供的路径上
  4. PointOnPath:返回路径上指定百分比处的Vector3

iTween方法:

(1)游戏物体的颜色变化方法

Color:根据组建的存在与否,该值将被应用于目标对象的GUITexture组件或GUIText组件或renderer组件或light组件。

ColorTo:从原始颜色渐变到目标颜色

ColorFrom:从给定的颜色渐变会原始颜色

ColorUpdate:类似于ColorTo,在Update方法或类似循环的环境中调用,提供每帧改变属性值的环境,不依赖于EaseType。

nameValueColor:当效果是应用在renderer(渲染器)组件上时,此参数确定具体应用到哪个已经命名颜色值上。

Includechildren:效果是否应用于子对象,默认true

(2)游戏对象淡入淡出方法

FadeTo:从当前透明度渐变到目标透明度,内部调用ColorTo

FadeFrom:从给定透明度渐变到原始透明度,内部调用ColorFrom

FadeUpdate:类似于FadeTo,内部调用ColorUpdate

alpha和amount参数均为最终透明度,amount优先于alpha。内部实现是仅改变color.a的值,再调用对应的Color方法

(3)摄像机淡入淡出方法

CameraFadeTo:透明度从当前值渐变到指定值,取值0—1,0完全透明,1完全不透明

CameraFadeFrom:从给定的透明度渐变到原始值

CameraFadeAdd:创建一个用于模拟摄像机的淡入淡出的游戏对象,需要在注册淡入淡出效果之前调用该方法

CameraTexture:创建并返回一个全屏的Texture2D,用于摄像机的淡入淡出。该Texture2D作为CameraFadeAdd()的参数

CameraFadeDepth:改变摄像机的淡入淡出深度,CameraFadeAdd()所创建的对象的z轴值

CameraFadeSwap:重设淡入单纯效果所使用的纹理CameraFadeAdd所创建的对象的guiTexture.texture

CameraFadeDestroy:删除摄像机的淡入淡出效果,销毁CameraFedeAdd所创建的对象

(4)音频变化方法

AudioTo:渐变AudioSource的音量和音调到目标值

AudioFrom:将AudioSource的音量和音调从给定的值渐变到原始值

AudioUpdate:类似于AudioTo,

音频播放方法Stab,播放AudioClip一次,不用手动加载AudioSource组件

(5)Look类方法

LookTo:旋转游戏对象使其面朝指定的Transform或Vector3

LookFrom:使游戏对象从提供的方向旋转回原来所面朝的方向

LookUpdate:类似于LookTo

注:游戏对象的正面指的是游戏对象的Z轴方向,也就是使游戏对象的Z轴指向目标点

(6)旋转方法

Look类方法是基于目标点的旋转,Rotate类方法是基于角度的旋转

RotateTo:旋转游戏物体到指定的欧拉角角度

RotateFrom:将游戏物体从给的欧拉角角度旋转回原始角度

RotateAdd:对游戏物体的旋转角度随着时间增加所提供的欧拉角(Vector3三个值解析:X,Y,Z各代表围绕哪个轴转动。其转动的角度就是X,Y,Z的值的大小,amount:欧拉角大小)

RotateBy:将提供的值乘以360,其余与RotateAdd一样,也就是提供的值为每个轴上旋转的周数。

RotateUpdate:类似于RotateTo。

(7)物体大小缩放

ScaleTo:改变游戏对象的比例大小到我们提供的值

SclaeFrom:将物体的大小从我们提供的值变化到原来的大小

ScaleAdd:增加游戏物体的大小

ScaleBy:成倍地改变物体的大小,Amount参数为各轴上的倍数

ScaleUpdate:类似于ScaleTo

(8)晃动效果方法

PunchPosition:对物体的位置添加一个摇晃的力,使其摇晃最终归于原来的位置,其晃动大小和方向由提供的amount(Vector3)决定

PunchRotation:对物体的旋转添加一个摇晃的力,使其旋转最终归于初始值。其旋转角度大小和方向由提供的Vector3决定,建议用单轴而不是整个Vector3,例如(0,1,0)是绕Y轴旋转,角度大小由Vector3Y轴值大小决定

PunchScale:对物体的大小比例添加一个摇晃的力,使其大小比例最终归于初始值。其大小比例变化方向和大小由提供的Vector3决定,例如(0,1,0)是在Y轴方向对物体大小变化(变化物体的高),大小由Vector3Y轴值大小决定

(9)衰减晃动效果方法

ShakePosition:根据提供的amount衰减其职随机摇动游戏物体的位置,其晃动大小和方向由提供的amount(Vector3)决定(方向根据Vector3随机,晃动大小,由各个方向的值的大小决定)

ShakeRotation:根据提供的amount衰减其值随机摆动旋转游戏物体的角度。

ShakeScale:根据提供的amount衰减其值随机摆动改变游戏物体的大小。其大小比例变化方向和大小有提供的Vector3决定。

(10)值方法

ValueTo:返回一个“from”和“to”之间的插值,以调用“onupdate”回调函数。“onupdate”回调是必需的,且它接收一个与“from”和“to”相同类型的参数。支持的值类型:float、double、Vector3、Vector2、Color、Rect。

在Update()中调用的值方法:FloatUpdate、Vector3Update、Vector2Update、RectUpdate。这些方法返回一个在提供的两个值之间的插值,大小变化根据提供的速度。

iTween插件使用的更多相关文章

  1. 【狼】unity3d iTween插件的学习

    之前在一个三消游戏项目中接触到iTween,最近又要用到,发现iTween真的是一个很好用,省事的插件,有很多函数里包括 Hashtable的他都用一个函数很简单的完成了, 举几个例子 void Lo ...

  2. Unity3d插件iTween的使用

    iTween.cs 下载地址:http://pan.ceeger.com/viewfile.php?file_id=1830&file_key=0UJAymOJ 版本为2.0.43 一.iTw ...

  3. Itween 动画插件中 的画线

    1.首先在你的层次视图中创建所需的节点 ,节点的位置顺序排列 2.导入Itween 插件 1.可以直接从项目外部拖拽到本项目中 2.通过AssetStore 中导入 3.在你的父节点上创建脚本 ,对象 ...

  4. Unity3D重要知识点

    数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个人基础,综合能力小公司看你实际工作能力,看你的Demo. 1.什么是渲染管道? 是指在显示器上为了显示出图像而经过的一系列必要操作. 渲染管道 ...

  5. Unity3D 面试题汇总

    最先执行的方法是: 1.(激活时的初始化代码)Awake,2.Start.3.Update[FixUpdate.LateUpdate].4.(渲染模块)OnGUI.5.再向后,就是卸载模块(TearD ...

  6. Unity 游戏资源ktx转换png

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

  7. 10. 将摄像机对准物体,并显示整个对准过程,摄像机Zoom

    1. 如果把代码放到按钮事件中调用,达不到想要的效果 2. 可以不用委托,但是要在Update函数中写调用CameraZoonIn的代码 3. 有很多需要改进的地方,可以参考使用 iTween 插件达 ...

  8. Unity3D手机斗地主游戏开发实战(01)_发牌功能实现

    园子荒废多年,闲来无事,用Unity3D来尝试做一个简单的小游戏,一方面是对最近研究的Unity3D有点总结,一方面跟广大的园友相互学习和提高.话不多说,进入正题~ 一.创建项目 1.创建Unity2 ...

  9. QuickTime视频解析问题

    在QuickTime中可以解析出视频并播放视频,解析的格式后缀名为.mov,之后将该视频导入到Unity Project中,显示未解析到视频文件,本来应该会自动生成MovieTexture材质,但是并 ...

随机推荐

  1. jenkins jacoco

    1.pom中加jacoco依赖 <dependency> <groupId>org.jacoco</groupId> <artifactId>jacoc ...

  2. 详解NXP Cortex-M3加密设置

     加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部储存的密钥和信息数据不被非法读取与篡改的一类安全芯片的通称.使用到安全加密芯片的产品:银行加密U盾.刻录机.加密硬盘.P ...

  3. 【转】LTE基本架构

    这篇文章主要介绍LTE的最基础的架构,包括LTE网络的构成,每一个网络实体的作用以及LTE网络协议栈,最后还包括对一个LTE数据流的模型的说明. LTE网络参考模型 这是一张非常有名的LTE架构图,从 ...

  4. java代码。从键盘输入次数。可控制的

    总结:把一碗水端平,本来水就不多. package com.b; import java.util.Scanner; //想办法用数组.一次性,多个的输出分解质因数 public class fa4 ...

  5. MySQL mysqldump与innobackupex 组合备份

    此脚本,在01点进行一次逻辑全备份,03点进行一次物理全备份,中午12点进行一次增量物理备份 #! /bin/bash #05 01,03,12 * * * mysql /data/mysqldata ...

  6. LNMP 1.2 Nginx编译安装

    Nginx官网是:nginx.org 下载稳定版本 cd /usr/local/src wget http://nginx.org/download/nginx-1.8.0.tar.gz tar zx ...

  7. C语言学习笔记--函数与指针

    1. 函数类型 (1)C 语言中的函数有自己特定的类型,这个类型由返回值.参数类型和参数个数共同决定.如 int add(int i,int j)的类型为 int(int,int). (2)C 语言中 ...

  8. C#WinForm如何调整控件的Tab按键顺序

    在日常生活中,很多用户都会有使用Tab键的习惯.而在C#的WinForm开发中,Tab按键的顺序默认是你拖拽进窗体的顺序.那么我们如何修改这个顺序呢?答案如下(以VS2010为例). 只需要点击[视图 ...

  9. [Python Study Notes]pynput实现对键盘控制与监控

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  10. LaTex: 表格单元格内容 分行显示/换行

    问题:如何同时让表格同一行一个单元格的文字能垂直居中?比如说文字超长超出页面范围需要分行显示 答:(来源于smth) 方案一: \newcommand{\tabincell}[2]{\begin{ta ...