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 参数,效果简直是惨不忍睹。

时间: 2024-10-14 11:16:12

Unity3D 之 iTween 相关的相关文章

第一章-第二题Unity3D游戏引擎相关--By林培文

1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的?  他们的目标都是盈利么?  他们的目标都是赚取用户的现金么?还是别的? 2004年,Unity3D诞生于丹麦哥本哈根,05年将总部设在了美国旧金山,并发布了Unity 1.0版本,支持MAC平台.随后几年,Unity3D陆续Windows.IOS及Android等平台,至2011构建完PS3和XBOX360,标志其全平台的构建完成.(参考<Unity诞生于发展> link:http://www.leipho

Unity3D的iTween

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. iTween是一个动画库,作者创建它的目的就是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等. iTween的核心是数值的插值.只需要定义开始和结束,中间过程iTween就会帮你弄好,简单易用,作用毫

unity3d热更新相关资料

http://www.cnblogs.com/murongxiaopifu/p/4199541.html http://blog.gamerisker.com/archives/461.html http://blog.gamerisker.com/archives/203.html 以上均为转发

Unity3D手机斗地主游戏开发实战(02)_叫地主功能实现(不定期更新中~~~)

系列目录 Unity3D手机斗地主游戏开发实战(01)_发牌功能实现 Unity3D手机斗地主游戏开发实战(02)_叫地主功能实现 一.大体思路 前面我们实现了点击开始游戏按钮,系统依次给玩家发牌的逻辑和动画,并展示当前的手牌.这期我们继续实现接下来的功能--叫地主. 1.首先这两天,学习了DOTween,这是一个强大的Unity动画插件,大家可以参考:官方文档,个人感觉DOTween还是比较好用的. 好的,我们先来重构一下动画部分的代码(没有绝对牛逼的架构和设计,项目过程中不要不断的持续改进嘛

Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D

游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同对应的动画就是clip,每个运动都是一段单独的动画,使用Play()或CrossFade(),直接播放动画 或淡入淡出播放动画. animation.Play("name"); animation.CrossFade("name"); 下面的是它的几个属性 Animation:默认的动画片段: Aniamtions:包含的动画片段: Play Automaticall

Unity3D性能优化--- 收集整理的一堆

Unity3D性能优化--- 收集整理的一堆 官方优化文档--优化图像性能http://docs.unity3d.com/Documentation/Manual/OptimizingGraphicsPerformance.html Unity3D性能优化专题性能优化是一个异常繁琐而又涉及到项目开发的方方面面的一个过程,它的本质是在运行时的一个时间里尽可能完美展现丰富的内容.实现优化可以通过优化资源.渲染.粒子.物理等模式:也可以通过修改模型大小.减少纹理尺寸并结合Unity3D的一些相关特性来

Unity3D游戏开发从零单排(八) - Shader基础

提要 今天要说的是Unity3D中shader相关的一些知识.不会做非常细致的讲解(东西实在太多!- -),但是看完之后会知道shader是怎么用的. 一些术语 在shader编程中,有一些术语,有时候不明白的话容易被整懵圈,所以这里就简单提一下. Shading Shading最开始指的在素描中给物体画明暗调子,在图形学中,其实就是给Mesh上色(Mesh就是一堆三角面片,包含顶点左边,法线坐标,uv坐标之类的),wiki中说的是根据物体相对于光线的角度及其距离光源距离改变物体颜色生成phot

Unity3d之音效播放和调用手机震动

http://blog.csdn.net/sunshine_1984/article/details/12943979 今天研究了下Unity3d音效播放相关内容,整理下实现细节. 1,添加音效文件到Assets/Resources目录,我这里添加到Assets/Resources/audio目录了. 2,新建C# Script命名为audio 3,编写audio.cs代码如下(里面注释很清楚了): using UnityEngine;using System.Collections; publ

[转载]unity优化1

官方优化文档--优化图像性能http://docs.unity3d.com/Documentation/Manual/OptimizingGraphicsPerformance.html Unity3D性能优化专题性能优化是一个异常繁琐而又涉及到项目开发的方方面面的一个过程,它的本质是在运行时的一个时间里尽可能完美展现丰富的内容.实现优化可以通过优化资源.渲染.粒子.物理等模式:也可以通过修改模型大小.减少纹理尺寸并结合Unity3D的一些相关特性来提升游戏的性能.随着移动端的设备硬件能力的提升