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) | |
左下角 | (89.0, 217.0) | (0.1, 0.1, 0.0) |
因為目前的投影方式是透視投影,所謂的轉換得到的世界坐标系的位置是,相機位于世界坐标系中的位置。
版權說明
作者: grassofsky
出處: http://www.cnblogs.com/grass-and-moon
本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出, 原文連結 如有問題, 可郵件([email protected])咨詢.