什么是3D坐標系?
3D坐標系是3D游戲開發與VR開發中的基礎概念。一般而言3D坐標系都是使用的笛卡爾坐標系來描述物體的坐標信息。
Unity中的幾種坐標系
1.World Space世界坐標系
3D世界的坐標,transform.position可以獲得該坐標
2.Screen Space屏幕坐標系
以像素定義,以屏幕左下角為坐標原點(0,0),右上角為(Screen.width,Screen.height),Z的位置是以相機的世界坐標位置來衡量的
3.View port Space視口坐標
視口坐標是標準的和相對于相機的。相機的左下角為(0,0)點,右上角為(1,1)點,Z的位置是以相機的世界單位來衡量的。
4.GUI界面坐標系
這個坐標系與屏幕坐標系相似,不同的是該坐標系以屏幕的左上角為(0,0)點,右下角為(Screen.width,Screen.height)。
坐標系的轉換
1.print("世界坐標" + obj.transform.position);
2.print("屏幕坐標"?+?Input.GetTouch(0).position);
3.print("世界坐標→屏幕坐標"?+?camera.WorldToScreenPoint(obj.transform.position));
4.print("屏幕坐標→視口坐標"?+?camera.ScreenToViewportPoint(Input.GetTouch(0).position));
5.print("世界坐標→視口坐標"?+?camera.WorldToViewportPoint(obj.transform.position));