Unity3D 之 iTween 相关
有过 Flash 开发经验的朋友,对这个 iTween 应该感到非常熟悉吧,在 Flash 平台有一款功能几乎一样的插件 TweenLite,至于哪个先哪个后,有没有相互借鉴之类的就不在讨论范围了。
简单的说,iTween 是一个补间工具(引擎),它的功能是:在指定的时间内,将指定的属性,从指定的值以特定的速度逐步过渡到另一个值,另外还可以指定每一帧的回调以及结束后的回调。由于属性值的改变导致游戏画面的改变,所以便有了动画的效果。之前看到有人说 TweenLite 是缓动引擎,这个缓动听起来挺拧巴的,我认为补间更形象一些。
了解的 iTween 的本质后,便可以想见,它的作用并不仅仅是做动画,凡是需要对数值进行过渡的地方都可以使用 iTween。iTween 和 TweenLite 比起来,有点更偏向于动画方面的,限制也多一些,不过大体来说基本的功能都可以实现,不太好实现的部分也可以变通来实现。以下讨论比较有意思的几个话题。
一、补间函数
现实世界中的运动一般来说就3种,匀速、加速、减速,通过这3种运动可以组合成另外的运动形式来。同样的,iTween 在对数值进行过渡的时候,也可以匀速、加速、减速,然后通过组合的形式可以实现多种形式的动画效果。
各种补间的演示可以在这里看到:easing_demo,还有这里:interactive demo
二、回调方法
iTween 的回调函数是通过 SendMessage 来实现的,依赖于 Unity3D 的消息机制,所以限制就是回调是由字符串指定,并且回调的实现必须在 GameObejct 里面。而有些情况下,我在调用 iTween 的时候希望回调的是一个非派生自 MonoBehaviour 的类的方法,这时候就需要在 GameObject 里面实现一个壳方法,之后再调用目标方法,非常拧巴。
解决的方法就是修改源码,让 iTween 支持自定义回调:为 iTween 指定特定的回调 : onupdate, oncomplete
三、绝对和相对
MoveTo 是绝对运动,其中的参数 position 表示当前物体移动到指定的位置。
MoveAdd 是相对运动,表示在当前的基础上加上参数 position 的值。
四、结尾
最新版本的 iTween 取消了一些的方法,同时提供了另外的替代方法。其中让我非常蛋疼的是取消了贝塞尔曲线,而且居然推荐我用 path 来替代,试了一下这个 path 参数,效果简直是惨不忍睹。
Unity3D 之 iTween 相关的更多相关文章
- 第一章-第二题Unity3D游戏引擎相关--By林培文
1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利么? 他们的目标都是赚取用户的现金么?还是别的? 2004年,Unity3D诞生于丹麦哥本 ...
- Unity3d 音效模块相关
关于Unity的音效方面,主要关注以下3个类: Audio Clip : audio data,导入到unity中的音频文件都是audio clip. Audio Sources : 挂载这audio ...
- Unity3d插件iTween的使用
iTween.cs 下载地址:http://pan.ceeger.com/viewfile.php?file_id=1830&file_key=0UJAymOJ 版本为2.0.43 一.iTw ...
- iTween的用法总结
Unity3D插件-iTween的基本用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Introd ...
- Unity3D性能优化--- 收集整理的一堆
http://www.cnblogs.com/willbin/p/3389837.html 官方优化文档--优化图像性能http://docs.unity3d.com/Documentation/Ma ...
- Unity3d之音效播放和调用手机震动
http://blog.csdn.net/sunshine_1984/article/details/12943979 今天研究了下Unity3d音效播放相关内容,整理下实现细节. 1,添加音效文件到 ...
- Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D
游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同相应的动画就是clip,每一个运动都是一段单独的动画,使用Play()或CrossFade(),直接 ...
- Unity3D手机斗地主游戏开发实战(02)_叫地主功能实现(不定期更新中~~~)
目录 Unity3D手机斗地主游戏开发实战(01)_发牌功能实现 Unity3D手机斗地主游戏开发实战(02)_叫地主功能实现 一.大体思路 前面我们实现了点击开始游戏按钮,系统依次给玩家发牌的逻辑和 ...
- Unity3D手机斗地主游戏开发实战(02)_叫地主功能实现
大体思路 前面我们实现了点击开始游戏按钮,系统依次给玩家发牌的逻辑和动画,并展示当前的手牌.这期我们继续实现接下来的功能--叫地主. 1.首先这两天,学习了DOTween,这是一个强大的Unity动画 ...
随机推荐
- requirejs基础教程
一.初识requirejs 随着网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式,我们需要团队协作.模块复用. ...
- HDU 2732:Leapin' Lizards(最大流)
http://acm.hdu.edu.cn/showproblem.php?pid=2732 题意:给出两个地图,蜥蜴从一个柱子跳跃到另外一个地方,那么这个柱子就可能会坍塌,第一个地图是柱子可以容忍跳 ...
- header中Content-Disposition的作用
在servlet3.0中 支持文件上传的注解@MultipartConfig 发现有个例子开头打印的信息中有Content-Disposition,一时好奇,所以了解了一下.顺便学习一下文件上传所需要 ...
- 阅读javascript高级程序设计
第一章 : javascript的简介: js的组成: 1.核心(ECMA) ECMA规定了js的 1,语法 2,保留字 3,关键字, 4,对象, 5,类型 6,操作符 7,语句 2.文档对象模型(D ...
- oracle游标透彻详解分析
主:本文来自:http://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html 4.1 游标概念 4.1.1 处理显式游标 4.1.2 处理隐 ...
- RK 61 键盘 Ubuntu 下键位映射修改方案
在用户 Home 目录下面创建 .Xmodmap 文件,然后输入以下的内容: remove Lock = Caps_Lock remove Control = Control_L remove Con ...
- c++中的重载(Overload)、覆盖(重写,Override) 、隐藏与using声明
这些概念有时记住了,但可能没多久就忘了,还是记下来吧.网上找的一篇不错:这里 1 重载与覆盖 成员函数被重载的特征: (1)相同的范围(在同一个类中,不包括继承来的): (2)函数名字相同: (3) ...
- tinkphp登录验证码的使用
登录和验证(控制器) <?php namespace Come\Controller; use Think\Controller; class RenController extends Con ...
- 补发SQL。(实用语句!!)
设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表 ...
- windows 7系统下出现某盘回收站损坏解决办法
今天遇到一个从没有遇见的问题,就是领导说他的回收站损坏了,要我去看下,我一开始也没用辙,网上搜了很多,说在命令提示符里面修改,我试了不行,后来我这样做就好了:1.打开计算机 2.找到工具选项,单击选择 ...