Unity之iTween插件初探Move移动
2015-11-04 11:17
288 查看
iTween是一个动画库,作者创建它的目的就是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等。
iTween的核心是数值插值,简单说就是给iTween两个数值(开始值,结束值),它会自动生成一些中间值,大概像这样子, 开始值-> 中间值 -> 中间值 ….
-> 结束值。
这里的数值可以理解为: 数字,坐标点,角度,物体大小,物体颜色,音量大小 等
这里介绍移动模型时候用到的几个核心方法如下:
iTween.MoveTo(): 让模型移动到一个位置,它的底层函数是通过动态的修改模型每一帧的transform.position完成的,所以它会百分之百到达目标点,不会出现误差。
iTween.MoveFrom():它和上面的一样,iTween.MoveTo()是将模型移动到目标位置,而iTween.MoveFrom()是将模型从目标位置移动到原始位置。
iTween.MoveAdd() 和iTween.MoveBy()底层实现一样,大家可以去看源码。处理移动时采用的是transform.Translate也就是API的平移,这样在处理移动的时候可能会出现一些误差,但是效果好点。
iTween.MoveUpdate():和iTween.MoveTo()差不多,只是它需要放在循环或者Update()中。
下面用MoveTo()做演示:
将脚本拖至希望移动的物体上
[b]
![](http://img.blog.csdn.net/20151104113006910?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
[/b]
[b]将路点拖至到Paths中,效果如下[/b]
[b]
![](http://img.blog.csdn.net/20151104113058637?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
[/b]
一个简单的定点移动就形成了,大家可以基础上做拓展,简单赛车、定点塔防中都可以用到!!
iTween的核心是数值插值,简单说就是给iTween两个数值(开始值,结束值),它会自动生成一些中间值,大概像这样子, 开始值-> 中间值 -> 中间值 ….
-> 结束值。
这里的数值可以理解为: 数字,坐标点,角度,物体大小,物体颜色,音量大小 等
这里介绍移动模型时候用到的几个核心方法如下:
iTween.MoveTo(): 让模型移动到一个位置,它的底层函数是通过动态的修改模型每一帧的transform.position完成的,所以它会百分之百到达目标点,不会出现误差。
iTween.MoveFrom():它和上面的一样,iTween.MoveTo()是将模型移动到目标位置,而iTween.MoveFrom()是将模型从目标位置移动到原始位置。
iTween.MoveAdd() 和iTween.MoveBy()底层实现一样,大家可以去看源码。处理移动时采用的是transform.Translate也就是API的平移,这样在处理移动的时候可能会出现一些误差,但是效果好点。
iTween.MoveUpdate():和iTween.MoveTo()差不多,只是它需要放在循环或者Update()中。
下面用MoveTo()做演示:
using UnityEngine; using System.Collections; public class ItweenText : MonoBehaviour { public Transform[] paths; // Use this for initialization void Start () { Hashtable hash = new Hashtable(); hash.Add("path",paths);//路径 hash.Add("easeType",iTween.EaseType.linear);//类型为线性 hash.Add("speed",5f);//移动速度 hash.Add("movetopath", true); //从初始位置移动到第一个位置 hash.Add("delay",0.1f); //延迟 //hash.Add("looktarget", Vector3.zero); //朝向 hash.Add("looptype", iTween.LoopType.loop); //循环方式 hash.Add("orienttopath", true);//朝向下一个 //让模型开始寻路 iTween.MoveTo(gameObject, hash); } void OnDrawGizmos() { iTween.DrawLine(paths, Color.green); iTween.DrawPath(paths, Color.red); } }
将脚本拖至希望移动的物体上
[b]
[/b]
[b]将路点拖至到Paths中,效果如下[/b]
[b]
[/b]
一个简单的定点移动就形成了,大家可以基础上做拓展,简单赛车、定点塔防中都可以用到!!
相关文章推荐
- 项目记录01--客unity,服erlang--框架net
- Shader-颜色
- Unity3D研究院之Time.timeScale、游戏暂停(七十四)
- 使用Unity3D的50个技巧:Unity3D最佳实践
- git_community_book_notes:ch3_junior_usage
- git_community_book:ch2_basic_usage
- git_community_book_notes:Introduction
- Unity3D 相机跟随主角移动
- Unity3D Editor模式下批量修改prefab
- Unity3D 第三人称的游戏角色的单选和移动
- unity3d 文本多语言实现
- Unity3D 鼠标检测世界中的游戏对象
- Unity各种小技巧函数方法—RPG黑暗之光解析
- Cg shader with image-based diffuse lighting
- Unity3d 制作动态Mesh且可以随地面凹凸起伏
- unity3d 切换场景过度动画
- 怎样实现Update中方法只被调用一次
- unity连接sqlite数据库操作
- Cg shader for Unity-specific skybox
- Cg shader for skybox