Unity3D的四種座標系

  1. World Space(世界座標):咱們在場景中添加物體(如:Cube),他們都是以世界座標顯示在場景中的。transform.position能夠得到該位置座標。            
  2. Screen Space(屏幕座標):以像素來定義的,以屏幕的左下角爲(0,0)點,右上角爲(Screen.width,Screen.height),Z的位置是以相機的世界單位來衡量的。注:鼠標位置座標屬於屏幕座標,Input.mousePosition能夠得到該位置座標,手指觸摸屏幕也爲屏幕座標,Input.GetTouch(0).position能夠得到單個手指觸摸屏幕座標。 spa

  3. ViewPort Space(視口座標):視口座標是標準的和相對於相機的。相機的左下角爲(0,0)點,右上角爲(1,1)點,Z的位置是以相機的世界單位來衡量的。(用的很少,反正我暫時沒有用到~呵呵~) orm

  4. 繪製GUI界面的座標系:這個座標系與屏幕座標系類似,不一樣的是該座標系以屏幕的左上角爲(0,0)點,右下角爲(Screen.width,Screen.height)。 對象

  • 世界座標→屏幕座標:camera.WorldToScreenPoint(transform.position);這樣能夠將世界座標轉換爲屏幕座標。其中camera爲場景中的camera對象。 it

  • 屏幕座標→視口座標:camera.ScreenToViewportPoint(Input.GetTouch(0).position);這樣能夠將屏幕座標轉換爲視口座標。其中camera爲場景中的camera對象。 io

  • 視口座標→屏幕座標:camera.ViewportToScreenPoint(); form

  • 視口座標→世界座標:camera.ViewportToWorldPoint();
相關文章
相關標籤/搜索