Unity坐标转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity坐标转换相关的知识,希望对你有一定的参考价值。

参考技术A 场景中非子物体的transform组件的坐标。Unity中的通过transform.position获取到的坐标即为世界坐标,注意:Inspector上点击子物体显示的transform上的坐标值是局部坐标,通过transform.localposition获取。

屏幕坐标即当前整个游戏画面分辨率为主创建的坐标系,画面左下角为原点(0,0),宽高根据分辨率而定,如分辨率为1920X1080,则宽Screen.width = 1920,Screen.height = 1080.

将屏幕坐标normalized化,x值 = 1/Screen.width,y值 = 1/Screen.height。,即原点变不变依然为(0,0),宽高则为(1,1)。

以UI上的RectTransform的width和height为宽高,根据锚点不同,原点也不一样。

rect表示该UI的父物体的组件,
screenPoint表示屏幕坐标,
cam表示当前使用的相机(如果Canvas是Screen Space-overlay模式,cam参数应为null),
localPoint则是输出的UI的局部坐标。
这个函数是根据父物体的坐标系来计算出当面屏幕坐标应该转换为的值,该值是相对父物体而言的局部坐标。

Unity3D-坐标转换笔记

Transform.TransformPoint

作用 : 将一个点从以自身为坐标系的本地坐标转换成世界坐标

Transform.InverseTransformPoint

作用 : 将一个点从世界坐标转换成以自身为坐标系的本地坐标

以上是关于Unity坐标转换的主要内容,如果未能解决你的问题,请参考以下文章

unity为啥坐标转换都要用camera.main?

Unity之坐标转换

Unity3D之笛卡尔坐标系转换——屏幕坐标转换世界坐标,世界坐标转换相机坐标工具

Unity3D之笛卡尔坐标系转换——屏幕坐标转换世界坐标,世界坐标转换相机坐标工具

Unity3D-坐标转换笔记

Unity 与 NGUI 坐标转换原理