Unity涉足深了,会越来越觉得视口坐标和屏幕坐标越来越有意义 对这方面不了解会导致做功能及改问题的时候一筹莫展 而官方文档对此的记录不甚详细 这里参考了下面的文章,以及一些实验,对世界坐标 屏幕坐标和视口坐标的基本关系做个记录 Unity中屏幕坐标、视图坐标和世界坐标的相互转换
UGUI中某个UI元素的transform.position表示的坐标就是屏幕坐标
在官方文档中可以发现 视口坐标和屏幕坐标都是左下角是原点
常用的api有
//1.屏幕转世界坐标
Vector3 Camera.main.ScreenToWorldPoint(new Vector3(screenPos.x , screenPos.y , zInfo));
//2.世界转屏幕坐标
Vector3 Camera.main.WorldToScreenPoint(new Vector3(worldPos.x , worldPos.y , worldPos.z)