zoukankan      html  css  js  c++  java
  • iTween插件使用

    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。这些方法返回一个在提供的两个值之间的插值,大小变化根据提供的速度。

  • 相关阅读:
    eclipse对项目Working Sets整理分类
    word中visio只显示边框,不显示内容解决
    使用WebStorm运行vue项目
    如何提高你的学习速度-超链接式学习法
    SQL中的join连接查询
    TCP的三次握手
    Tomcat 实现热部署
    Linux下软件设成系统服务运行
    Redis服务器搭建
    nginx.conf完整配置实例
  • 原文地址:https://www.cnblogs.com/damonHead/p/9437496.html
Copyright © 2011-2022 走看看