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

Unity中3中坐标系

2015-12-31 01:22 323 查看
1、世界坐标

场景中得Object,都是以世界坐标显示的,transform.position即可获取该坐标的位置。

2、本地坐标

本地坐标是子节点相对于父节点的坐标,用transform.localposition即可获取该坐标

3、屏幕坐标

以像素来定义,以屏幕的左下角为原点,右上角为Screen.width,Screen.height,z轴位置以摄像机的世界单位来衡量。

注意:鼠标的坐标属于屏幕坐标。Input.mousePosition可以获取该位置的坐标,手指触摸屏幕也为屏幕坐标。Input.GetTouch(0).position即可获取该坐标。

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

4、GUI坐标

该坐标与屏幕坐标相似。但是该坐标系以屏幕的左上角为坐标原点,右下角为Screen.width,Screen.height.

几种坐标的转换

世界坐标---->屏幕坐标:camera.WorldToScreenPoint(transform.position);将世界坐标转换为屏幕坐标,其中camera为场景中的camera对象,可直接获取到。

屏幕坐标---->视口坐标:camera.ScreenToViewPoint(Input.GetTouch(0).position).即可将屏幕坐标转换为视口坐标。camera直接获取。

视口坐标---->屏幕坐标:camera.ViewportToScreenPoint().

视口坐标---->世界坐标:camera.ViewportToWorldPoint().

本地坐标---->世界坐标:父对象.transform.TransformPoint(相对于该父对象的位置localposition)

世界坐标---->本地坐标:将要绑定父对象.transform.InverseTransformPoint(要绑定的子对象的position)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  坐标