场景中有一个照3D物体的透视摄像机,NGUI使用自己独立的正交摄像机,转换步骤如下:
1.使用透视摄像机把世界坐标转换到屏幕坐标
Vector3 pos =Camera.main.WorldToScreenPoint(worldPos);
pos.z = 0f; //z一定要为0.
2.使用UI摄像机转换到NGUI的世界坐标
Vector3 pos2 =UICamera.currentCamera.ScreenToWorldPoint(pos);
3.赋值给NGUI控件
temp.transform.position =pos2; //temp为NGUI控件.
网上流传着N种做法,实测很多都是错误的。只有这个才是对的
原文地址:http://blog.sina.com.cn/s/blog_62df69790101ggnq.htmltemp.transform.position =pos2; //temp为NGUI控件.
本文介绍了一种在Unity中将3D透视摄像机捕捉到的对象坐标转换为NGUI正交摄像机坐标的方法。该方法分为三个步骤:首先使用主摄像机将世界坐标转换为屏幕坐标;接着设置屏幕坐标的Z轴为0;最后通过UI摄像机将屏幕坐标转换回NGUI的世界坐标。
2725

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



