Unity教程合集unity3D技术分享

NGUI,世界坐标,屏幕坐标转换

2016-12-25  本文已影响0人  周joe

其实这个网上教程已经很多,但是我还是需要发布这篇博文以作沉淀之用
1.世界坐标转屏幕坐标
假定世界有一点坐标为pos,其转换为屏幕坐标为:
Camera.main.WorldToScreenPoint(pos);
2.屏幕坐标转世界坐标
假定屏幕有一点坐标为pos,其转换为世界坐标为:
Camera.main.ScreenToWorldPoint(pos);
3.屏幕坐标转NGUI坐标
假定屏幕有一点坐标为pos,其转换为NGUI坐标为:
UICamera.currentCamera.ScreenToWorldPoint(pos);
这个需要注意的是,得到的坐标为全球坐标,而不是本地坐标,所以NGUI的组件设置位置需要设置position而不是localPosition,我当时就是被这个坑过(┬_┬)
4.NGUI坐标转屏幕坐标
假定NGUI有一点坐标为pos,其转换为NGUI坐标为:
UICamera.currentCamera.WorldToScreenPoint(pos);
5.世界坐标转NGUI坐标
假定屏幕有一点世界为pos,其转换为NGUI坐标为:
需要先把世界坐标转为屏幕坐标
Vector3 screenPos=Camera.main.WorldToScreenPoint(pos);

上一篇下一篇

猜你喜欢

热点阅读