您的位置:首页 > 移动开发 > Unity3D

Unity3D世界的坐标系

2016-05-19 20:01 459 查看
Unity3D世界中的坐标系有四种:世界坐标系屏幕坐标系视口坐标系绘制UI界面的坐标系

1.世界坐标系

我们在场景中添加物体(Cube),他们都是以世界坐标显示在场景中。transform.position可以获取他们的世界坐标。

2.屏幕坐标

屏幕坐标是以像素为单位的,以屏幕左下角为(0,0),右上角为(Screen.width,Screen.height),z的位置是以相机的世界单位来衡量的。
注:鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position可以获得单个手指触摸屏幕的坐标。
Screen.width=Camera.pixelWidth;
Screen.height=Camera.pixelHeight;

3.ViewPort Space(视口坐标)

视口坐标是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,z的位置是以相机的世界单位来衡量的。

4.绘制GUI界面的坐标系

这个坐标与屏幕坐标相似,不同的是该坐标系以屏幕的左上角为(0,0)点,右下角为(Screen.width,Screen.height)。

四种坐标系的转换:

1.世界坐标→屏幕坐标:Camera.WorldToScreenPoint(transform.position);
2.屏幕坐标→视口坐标:Camera.ScreenToViewPortPoint(Input.GetTouch(0).position);
3.视口坐标→屏幕坐标:Camera.ViewportToScreenPoint();
4.视口坐标→世界坐标:Camera.ViewportToWorldPoint();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: