将下面代码添加到需要拖拽的物体上:
Vector3 currPosition; //拖拽前的位置
Vector3 newPosition; //拖拽后的位置
private void OnMouseDrag()
{
//1:把物体的世界坐标转为屏幕坐标 (依然会保留z坐标)
currPosition = Camera.main.WorldToScreenPoint(transform.position);
//2:更新物体屏幕坐标系的x,y
currPosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, currPosition.z);
//3:把屏幕坐标转为世界坐标
newPosition = Camera.main.ScreenToWorldPoint(currPosition);
//4:更新物体的世界坐标,y轴不变(高度不变)
transform.position = new Vector3(newPosition.x, transform.position.y, newPosition.z);
}