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) |
因为当前的投影方式是透视投影,所谓的转换得到的世界坐标系的位置是,相机位于世界坐标系中的位置。
版权说明
作者: grassofsky
出处: http://www.cnblogs.com/grass-and-moon
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(grass-of-sky@163.com)咨询.