这里写链接内容##1.iTween是一个轻量级的插件,是用来做物体的运动(其中有人说是动画,个人觉得运动比较合适),可以用来做物体的移动,变换,跳跃等iTween的安装如下。

在unity3d中的assets store中搜索iTween,点击导入就行

导入后的效果如下,其中iTween.cs是关键脚本(如下图中所示),其它的都可以删掉的。

2.为了说明如何使用脚本,下面来进行基本的移动操作

移动操作的基本函数,有两种形式,如下所示,在第一种形式中,第一个参数是一个物体对象,这个参数是一个坐标,也是物体移动的终点位置,time是移动到终点所要的时间。

第二种形式中,第一个参数是一个物体对象,第二个参数是一个hashtable。这个表中可以放很多个参数。

MoveTo(GameObject target, Vector3 position, float time)
MoveTo(GameObject target, Hashtable args)

下面就用这两种形式来说明下iTween中和移动操作,新建一个scene,如下图中所示。

在Main Camera上绑定一个代码,test1.cs,如下所示。

//第一种形式的移动
using UnityEngine;
using System.Collections;
public class test1 : MonoBehaviour {public GameObject targetGameObject;public float time = 2f;public iTween.EaseType easeType;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {if(Input.GetMouseButtonDown(0)){//鼠标左键移动iTween.MoveTo(targetGameObject,new Vector3(3,3,3),time);}if (Input.GetMouseButtonDown(1)){//右键还原iTween.MoveTo(targetGameObject, new Vector3(0, 0, 0), time);}
}

上面就是第一种形式的移动方式,下面来展示下第二种移动方式。

using UnityEngine;
using System.Collections;
public class test1 : MonoBehaviour {public GameObject targetGameObject;public float time = 2f;public iTween.EaseType easeType;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {if (Input.GetMouseButtonDown(0)) {//Hashtable args = new Hashtable();//args.Add("x", 3);//args.Add("time", 4);//args.Add("delay", 1);//args.Add("onupdate", "onupdatefunction");//每一帧的回调函数//args.Add("looptype", "pingpong");
//hashtable有下面这种和上面那种形式Hashtable args = iTween.Hash("x", 3, "time", 2,"easetype",easeType);iTween.MoveTo(targetGameObject,args);}if (Input.GetMouseButtonDown(1)){targetGameObject.transform.position = Vector3.zero;}}void onupdatefunction() {print("what are here 1");}
}

上面两种形式都能轻松的实现移动效果,关于hashtalbe中的参数有很多种,大家可以根据自己感兴趣的去试下,具体可以戳这里。

3.通过上面简单的应用应该对iTween的基本用法可以理解了,下面还实现了iTween中官网中例子的第一个demo,说起来可以可能比较麻烦,也说不明白下面给出场景和关键代码。

4.在Spawn上添加脚本SphereSpawn.cs

using UnityEngine;
using System.Collections;public class SphereSpawn : MonoBehaviour {public GameObject spherePrefab;public Transform redSphere;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {Ray ray =  Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hitinfo;bool isCollider = Physics.Raycast(ray, out hitinfo);if (isCollider && hitinfo.collider.tag == "Ground") {redSphere.position = hitinfo.point;  }if(Input.GetMouseButtonDown(0)){SpawnSpere();}}void SpawnSpere() {GameObject go = GameObject.Instantiate(spherePrefab, transform.position,Quaternion.identity) as GameObject;go.GetComponent<MySphere>().targetPosition = redSphere.position;}
}

在GameObject上添加脚本MySphere.cs

using UnityEngine;
using System.Collections;public class MySphere : MonoBehaviour {public Vector3 targetPosition;private GameObject sphere;// Use this for initializationvoid Start () {sphere = GameObject.Find("Sphere").gameObject;iTween.MoveTo(this.gameObject,iTween.Hash("time",2,"position",targetPosition,"easetype",iTween.EaseType.easeOutCubic));iTween.FadeTo(this.gameObject, iTween.Hash("delay", 2, "time", 2, "alpha", 0, "oncomplete", "mycomplete"));iTween.MoveBy(sphere, iTween.Hash("time", 1, "y", 5,"easetype",iTween.EaseType.easeOutCubic));iTween.MoveBy(sphere, iTween.Hash("delay",1,"time", 1, "y", -5, "easetype", iTween.EaseType.easeOutCubic));}void mycomplete() {Destroy(this.gameObject);}// Update is called once per framevoid Update () {}
}

注意下面的Sphere上添加材料和图片

实现效果图


其他:

本DEMO下载地址:


iTween官网23个例子源码下载地址

AR/VR learning (3)--物体的运动与动画(iTween插件的使用)相关推荐

  1. 这项Avatar专利,让我看到了未来苹果生态与AR/VR头显的融合

    苹果研发AR/VR头显几乎已经是公开的秘密,尤其是从近年来该公司申请的一系列专利中,可以看到各类与AR/VR相关的技术,涵盖了UI.UX.硬件.光学.数据传输.传感器等多个方面.比如前不久,USPTO ...

  2. CREAL CEO:AR/VR动态变焦有哪几种解决方案?

    如果你曾细心观察人眼视觉变化,可能会有这样的体验:当你看向远方,并将手指放到眼前附近时,手指看起来并没有变清晰,反而模糊了.而在你有意识的去调整自己的注视点后,手指又重新变得清晰. 这种视觉特性就像是 ...

  3. 9种AR/VR交互方式解读,让你更加了解透彻AR/VR

    9种AR/VR交互方式解读,让你更加了解透彻AR/VR ** 虚拟现实**技术是仿真技术的一个重要方向,是仿真技术与计算机图形学.人机接口技术.多媒体技术.传感技术.网络技术等多种技术的集合,是一门富 ...

  4. SLAM/VIO/VINS AR/VR

    https://zhuanlan.zhihu.com/p/34995102 一.前言 这篇文章作为我的硕士期间学习总结,将从导航定位层面介绍SLAM技术,并给初学者一些学习建议.不会涉及非常深的理论方 ...

  5. 首届“十大最具价值”AR/VR创业项目遴选榜单丨Xtecher权威发布

    编者按:近年来,围绕人工智能.大数据的创新创业层出不穷,整个科技行业呈迅猛发展态势.为进一步推动科技行业健康发展,Xtecher与国家发改委中国投资协会投资咨询专业委员会共同举办"十大最具价 ...

  6. 奥本未来:3D展示与AR/VR“魔镜”,给新消费带来新体验 | 北京软件新派力量系列报道...

    编者按: 软件定义世界."网络化.数字化.智能化",软件云化.服务化--这是软件产业最重要的发展趋势. 这些趋势也反映了两个根本问题:一是软件在现代社会的运行中越来越重要越来越核心 ...

  7. 2022年 10 大 AR/VR 元宇宙

    2022年,许多品牌正在转向元宇宙营销并创造全球经济.以下是2021年 10 大 AR/VR 元宇宙营销活动. 元宇宙是计算领域的一场伟大革命,通过将物理世界与先进技术相结合,改变了用户相互交互.娱乐 ...

  8. Matthew Ball:十多年后AR/VR为何依然发展缓慢?

    2010年,Magic Leap和微软就开始研发AR技术,直到2012年Oculus才成立,AR/VR经过了13年左右的时间,虽然受到越来越多人关注,但发展依然缓慢.VR的主要应用场景还是游戏,但VR ...

  9. 点评|AR/VR行业高管眼中的Vision Pro

    Apple Vision Pro正式发布,不仅吸引了众多消费者的眼球,这家消费电子巨头的入局也让整个AR/VR行业高度关注​,影响力不容小觑.本次青亭网邀请了AR/VR行业的高管和学者,为我们点评Ap ...

  10. AR/VR逐渐回暖 联合安防步入未来

    来源:VR每日必看 2019年,AR/VR市场在走过萌芽.兴起.狂热与泡沫破灭之后,开始逐渐复苏,相关芯片.屏幕.传感器等关键零部件也取得了不少进展,行业有望再次迎来高速增长.相较于C端市场,在B端, ...

最新文章

  1. C#基础概念二十五问
  2. 新京报:“AI换脸”被滥用 科技莫成“黑产”帮凶
  3. python3(十二)打开和关闭文件
  4. HBase的BulkLoad详解
  5. 计算机网络与安全维护实训报告,计算机网络与安全管理专业实习报告
  6. 首个月球旅客!SpaceX将送普通人上太空,马斯克暗示首单来自日本
  7. JavaWeb将图片显示在浏览器中
  8. python之用yagmail模块发送邮件
  9. 最新回归算法理解、实现及应用(1)线性回归
  10. 价值1680元的python实战全套教学视频
  11. matlab矩阵运算中只对部分数值进行计算的技巧
  12. 使用电脑小技巧70个
  13. 分类器交叉验证java_使用交叉验证和F1分数选择SVM参数
  14. 动态规划实例--数组不连续取数问题(python 实现)
  15. java的round函数怎么用_Java Math round()用法及代码示例
  16. iOS开发可以调节屏幕亮度并且上传APPstore
  17. docker java 内存_Java和Docker限制的那些事儿
  18. Web前端——登录界面hover效果
  19. MT4安卓版官网下载
  20. 教你如何使用spss计算变量的相关性

热门文章

  1. [C++]面向对象部分——类
  2. 虚拟机队列实战虚拟化存储设计之LUN Sizing
  3. 技术开发人员需要改变性格吗?
  4. -webkit-padding-start: 40px;ul的padding-left:40px;问题
  5. java人员工作建议_给JAVA设计开发新手的一些建议和意见(1)
  6. 蓝牙打印 设置打印样式_双编辑模式 打印自由更轻松!——海鸟贴纸打印机蓝牙按键版体验...
  7. 数据库删除表中多列语法总结
  8. vb6 英文和中文长度不同_PPT里中文排版就是没英文好看?你怕是假酒喝多了…...
  9. 中小学生计算机一等奖李广圆,喜报:昌乐一中学生在第二十届全国中小学电脑制作活动中获两项大奖...
  10. 虚拟服务器排行榜,虚拟服务器排行榜