场景中有一个照3D物体的透视摄像机,NGUI使用了一个2D摄像机,转换步骤如下: 首先我实现的是,获取场景中一个物体的世界坐标,然后在这个位置上显示一个2D的选项(就是ngui做的那一块)。 定义: public Camera mainCamera; public Camera uiCamera; public Transform sprite; 1. 使用透视摄像机把世界坐标转换到屏幕坐标 Vector3 pos = mainCamera.WorldToScreenPoint(worldPos); pos.z = 0f; //把z设置为0 2. 使用UI摄像机转换到NGUI的世界坐标 Vector3 pos2 = uiCamera.ScreenToWorldPoint(pos); 3. 赋值给NGUI控件 sprite.transform.position = pos2; //