ARFoundation - touch point坐标点测试
ARFoundation - touch point坐标点测试
本文目的是为了看一下Android手机上touch之后,对应的点相关信息,主要包括:
- 点的屏幕坐标,以左下角为原点;
- 点的viewport坐标系下的坐标,以左下角为原点;
- 点的世界坐标系下的坐标;
屏幕坐标系和viewport坐标系,均如下所示:

代码如下:
void Update()
{
if (Input.touchCount > 0)
{
Debug.Log("TouchTest touch number is: " + Input.touchCount);
for (int i=0; i<Input.touchCount; ++i)
{
Touch touch = Input.GetTouch(i);
Debug.Log("TouchTest touch" + Convert.ToString(i) +
" screen position is: " + touch.position);
Debug.Log("TouchTest touch" + Convert.ToString(i) +
" viewport position is: " + Camera.main.ScreenToViewportPoint(touch.position));
Debug.Log("TouchTest touch" + Convert.ToString(i) +
" world position is: " + Camera.main.ScreenToWorldPoint(touch.position));
}
}
}
| 手机屏幕的位置描述 | Screen Position | Viewport Position | World Position |
|---|---|---|---|
| 中间 | (743.0, 1654.0) | (0.5, 0.5, 0.0) | (0.1, 0.0, 0.0) |
| 左上角 | (69.0, 2906.0) | (0.0, 1.0, 0.0) | (0.0, 0.0, -0.1) |
| 右上角 | (1388.0, 2960.0) | (1.0, 1.0, 0.0) | (0.0, 0.0, 0.0) |
| 右下角 | (1390.0, 190.0) | (1.0, 0.1, 0.0) | (0.0, 0.0, 0.0) |
| 左下角 | (89.0, 217.0) | (0.1, 0.1, 0.0) | (0.0, 0.0, 0.0) |
因为当前的投影方式是透视投影,所谓的转换得到的世界坐标系的位置是,相机位于世界坐标系中的位置。
ARFoundation - touch point坐标点测试的更多相关文章
- ARFoundation - 实现物体旋转, 平移,缩放
ARFoundation - 实现物体旋转, 平移,缩放 本文目的是为了确定在移动端怎样通过单指滑动实现物体的旋转,双指实现平移和缩放. 前提知识: ARFoundation - touch poin ...
- 网页在Safari快速滚动和回弹的原理: -webkit-overflow-scrolling : touch;的实现
现在很多for Mobile的H5网页内都有快速滚动和回弹的效果,看上去和原生app的效率都有得一拼. 要实现这个效果很简单,只需要加一行css代码即可: -webkit-overflow-scrol ...
- Sencha Touch快速入门(译)
翻译自:http://www.sencha.com/learn/sencha-touch-quick-start/ 1.下载Sencha Touch SDK——下载链接 2.安装Safari或Chro ...
- JS 模拟手机页面文件的下拉刷新
js 模拟手机页面文件的下拉刷新初探 老总说需要这个功能,好吧那就看看相关的东西呗 最后弄出了一个简单的下拉刷新页面的形式,还不算太复杂 查看 demo 要在仿真器下才能看到效果,比如chrome的里 ...
- Unity3d插件研究之Easytouch
但我们开发移动端的游戏时,发现使用Input.GetMouseButtonDown的方法不可用,怎么办? 虽然unity3d也有自带触屏的方法,但是使用起来代价太高,什么单击,双击这些功能都要自己封装 ...
- [python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决
这篇文章主要讲述Python如何安装Numpy.Scipy.Matlotlib.Scikit-learn等库的过程及遇到的问题解决方法.最近安装这个真是一把泪啊,各种不兼容问题和报错,希望文章对你有所 ...
- [转]Linux软连接和硬链接
1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节 ...
- 一个demo让你彻底理解Android触摸事件的并发
注:本文涉及的demo的地址:https://github.com/absfree/TouchDispatch 1. 触摸动作及事件序列 (1)触摸事件的动作 触摸动作一共有三种:ACTION_DOW ...
- Android Studio中怎么使用DDMS工具?
随着android studio的广泛使用,开发人员对相关工具的使用需求更加凸显.昨天在一个android studio教程网站上,看到一篇有关DDMS工具使用的相关知识,感觉很不错,分享给大家,一起 ...
随机推荐
- 设置chromium的默认搜索引擎为Bing
设置 -> 搜索 -> 管理搜索引擎 第三项中添加: http://cn.bing.com/search?q=%s 即可.
- 微信公众号代码高亮美化工具 All In One
微信公众号代码高亮美化工具 All In One markdown 美化 mdnice 编辑器 https://www.mdnice.com/ https://github.com/mdnice ma ...
- React Transforming Elements All In One
React Transforming Elements All In One https://reactjs.org/docs/react-api.html#transforming-elements ...
- VSCode & SQL
VSCode & SQL MySQL MySQL https://marketplace.visualstudio.com/items?itemName=formulahendry.vscod ...
- NGK以强大的创新能力赋予NGK公链超级实用的特性
公链从大趋势看是一个不断迭代的过程,不管是共识算法.网络架构.开发者协议都在一代一代不断完善跟创新. NGK公链作为公链赛道上的后起之秀,对于主流公链技术的局限性以及下一代公链技术的发展方向都有非常清 ...
- 亿级流量客户端缓存之Http缓存与本地缓存对比
客户端缓存分为Http缓存和本地缓存,使用缓存好处很多,例如减少相同数据的重复传输,节省网络带宽资源缓解网络瓶颈,降低了对原始服务器的要求,避免出现过载,这样服务器可以更快响应其他的请求 Http缓存 ...
- 【转】【机器人学:运动规划】OMPL开源运动规划库的安装和demo
https://blog.csdn.net/gpeng832/article/details/73736225
- Java自学第7期——异常(Exception)
1.概念: 异常 :指的是程序在执行过程中,出现的非正常的情况,终会导致JVM的非正常停止. 在Java等面向对象的编程语言中,异常本身是一个类, 产生异常就是创建异常对象并抛出了一个异常对象. Ja ...
- 生成UUID的代码
代码: String reqId = UUID.randomUUID().toString().replace("-", "");
- Qt+opencv亲自配置教程
了别人的配置,总是无法配置成功,自己慢慢摸索配置成功.我失败的原因是在于自己本机的环境变量和他们不同,特此记下,分享给有相同问题的朋友. 一.需要软件 1.cmake 3.11.3(版本无所谓) 2. ...