首页 > Unity3D专栏 > 【Unity3D】Unity各种坐标之间的转换
2017
12-07

【Unity3D】Unity各种坐标之间的转换

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);
然后再把屏幕坐标转NGUI坐标
UICamera.currentCamera.ScreenToWorldPoint(screenPos);



虚拟世界提醒您:如果您觉得本文不错,快快将这篇文章分享出去吧 ,感谢您的支持和关注,谢谢!
最后编辑:
作者:虚拟世界
专注互联网技术及资讯 技术研究中心|有相关Unity3D问题或者作事宜请联系我哦!
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝或者微信直接向我捐款,在此非常感谢您对虚拟世界的捐赠。

留下一个回复

你的email不会被公开。