標籤:http 相互轉換 中心 port use 個人 height int put
1. World Space(全局座標系):
我們在情境中添加的物體(如:Cube),他們都是以全局座標顯示在情境中。transform.position 擷取的便是這個 座標數值。
2. Scene Space(螢幕座標系):
以像素來定義的,一螢幕的左下角為(0,0)點,右上方為(Screen.with,Screen.height),Z軸的位置是以相機的世界單位來衡量的(個人感覺是全局座標的Z值)。
2.1 滑鼠位置屬於螢幕座標,Input.mousePosition 可以獲得該位置座標。
2.2 手指觸控螢幕幕也為螢幕座標,Input.GetTouch(0).position 可以獲得單個手指觸控螢幕幕的座標。
2.3 當有多個手指觸控螢幕幕時,Input.GetTouch(0).position會擷取到多個點擊點的中心位置。
http://docs.unity3d.com/Documentation/Manual/Input.html
3. ViewPort Space(視口座標):
視口座標系是標準的和相對於相機的。相機的左下角為(0,0)點,右上方為(1,1)點,Z的數值是以相機的世界單位來衡量的(又是衡量的……)。
4.繪製GUI介面的座標系(UI座標):
這個座標系與螢幕座標系相似,不同的是該座標系以螢幕的左上方為(0,0)點,右下角為(Screen.width,Screen.height);
【座標系的相互轉換】
1. World Space --> Screen Space: camera.WorldToScreenPoint(transform.position);
2. Screen Space --> ViewPort Space: camera.ScreenToViewportPoint(Input.mousePosition);
3. ViewPort Space-->Screen Space: camera.ViewportToScreenPoint();
4. ViewPort Space-->World Space: camera.ViewportToWorldPoint();
參考:https://www.cnblogs.com/tekkaman/p/3809409.html
Unity座標系詳解