unity3d 在制作游戏的过程中,我们经常需要获得屏幕坐标与世界坐标,之间也经常需要做相互转换处理,像获得场景中物体的屏幕坐标,或者鼠标点击到物体位置的世界坐标。
打开unity3d场景,在里面创建个立方体。
在脚本文件夹中创建一个“Zhuan_XYZ”脚本。
在update中通过WorldToScreenPoint获得物体(立方体)的屏幕坐标。
Vector2 screen_xy=Camera.main.WorldToScreenPoint(transform.position);
使用RaycastHit获得鼠标点击物体位置的世界坐标。
Ray myRay=Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit myHit;
if(Physics.Raycast(myRay,out myHit))
{
if (myHit.collider.gameObject.tag=="aa") {
print ("点击地形位置的世界坐标" + myHit.point);
}
}