Unity3D坐标系

什么是3D坐标系?

3D坐标系是3D游戏开发与VR开发中的基础概念。一般而言3D坐标系都是使用的笛卡尔坐标系来描述物体的坐标信息。

Unity3D坐标系_第1张图片

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)。

Unity3D坐标系_第2张图片
Unity3D坐标系_第3张图片


Unity3D坐标系_第4张图片
Unity3D坐标系_第5张图片
Unity3D坐标系_第6张图片

坐标系的转换

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));

Unity3D坐标系_第7张图片

你可能感兴趣的:(Unity3D坐标系)