Unity内未提供直接的转换函数,需要借助视口坐标中转一下。
在Unity中视口坐标是以左下角为(0,0),右上角为(1,1)的坐标,已知世界坐标获得其对应的视口坐标可以使用:
Vector3 viewPos=Camera.main.WorldToViewportPoint(worldPos);
拿到viewPos后就可以根据当前Canvas的Width、Height,反算出对应的UGUI坐标,下面获得的是以中心点为anchor的ugui坐标
RectTransform canvasRectTrans;
float x = canvasRectTrans.rect.width * vi

本文详细介绍了Unity中如何进行世界坐标到视口坐标、视口坐标到世界坐标以及UGUI坐标到世界坐标的转换方法,并提供了具体的代码实现。
最低0.47元/天 解锁文章
631

被折叠的 条评论
为什么被折叠?



