【Vuforia】基于Vuforia增强现实开发(三)之模型旋转
2016-04-03 11:11
232 查看
具体如何部署控件,建立关联,参照第一篇【Vuforia】基于Vuforia增强现实开发(一)之识别图像播放声音
1、Plane是上一篇文章里建立的,挡住旋转下去的部位。就当地面了。
2、新建一个在Canvas下新建一个Image用来拖拽。设置透明度为半透明,以及拉伸方式。Image要放在控件树的顶层,也就是所有空间的最底下,从而不会遮挡住其他控件。
![](https://img-blog.csdn.net/20160403105745653?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
要按照世界坐标去旋转,所以旋转的参照系用的模型在旋转时,是沿Y轴旋转,所以在脚本中,Y轴和X轴的位置是相反的,并且模型是依照世界坐标轴旋转,所以需要让他调用世界坐标轴(Space.World)
脚本里实现IDragHandler接口,必须要引用命名空间 UnityEngine.EventSystem;
重写里边的方法即可。
最后将脚本赋给模型就好了。
1、Plane是上一篇文章里建立的,挡住旋转下去的部位。就当地面了。
2、新建一个在Canvas下新建一个Image用来拖拽。设置透明度为半透明,以及拉伸方式。Image要放在控件树的顶层,也就是所有空间的最底下,从而不会遮挡住其他控件。
要按照世界坐标去旋转,所以旋转的参照系用的模型在旋转时,是沿Y轴旋转,所以在脚本中,Y轴和X轴的位置是相反的,并且模型是依照世界坐标轴旋转,所以需要让他调用世界坐标轴(Space.World)
脚本里实现IDragHandler接口,必须要引用命名空间 UnityEngine.EventSystem;
重写里边的方法即可。
using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class RoteButton : MonoBehaviour,IDragHandler { public Transform target; float speed = .3f; public void OnDrag (PointerEventData eventData){ Vector3 Vec3rote = new Vector3 (eventData.delta.y,-eventData.delta.x); target.Rotate (Vec3rote * speed, Space.World); } }
最后将脚本赋给模型就好了。
相关文章推荐
- Educational Codeforces Round 1 C. Nearest vectors 【极角排序atan2法】
- 数据结构实验之队列一:排队买饭
- Java static 代码块测试
- 学习进度(2016.4.3)
- Javascript 构造函数、继承
- [网络基本功系列八]细说TCP滑动窗口
- GreenDao框架,生成类个人注释
- 依赖与关联的比较
- 大数据工程师:大数据的java基础 第七周
- 第六周上机实践项目-项目3-IP地址类
- 我是一个线程(修订版)
- leetcode @python 127. Word Ladder
- BC#78 (div.2)CA Loves GCD【N个数gcd】
- HDU 4172解题报告
- Hadoop 2.6.0 hbase 0.98 Java API 调用实例
- 揭秘12306技术改造(三):传统框架云化迁移到内存数据平台
- [Nutch]Ubuntu配置Java环境
- 关于span
- 第六课 linux下进程描述与进程创建
- (四)一个简单的删除链表中某个元素的算法