3转2 2转3

场景中有一个照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控件.

            //camera不同所以要通过screen坐标转换

            //最后转为3d世界坐标,是因为物体挂点不一样,使用世界3d不用再次计算

            //z为0是防止干扰2转3


猜你喜欢

转载自blog.csdn.net/a133900029/article/details/79994346