利用相机发射射线的方法,在初学的时候,很容易记混相机的方法。还有一个拖动物体到三维任意位置的方法,和这个方法不一样。
void Update ()
{
if (Input.GetMouseButton (0)) {
m_ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (m_ray, out m_hit)) {
//优化,如果点到自己,不发生移动
if (m_hit.transform.name != "Cube") {
m_targetpos = m_hit.point;
}
}
}
让物体移动的位置是目标点的x.y坐标,z轴为0.5f.
Vector3 v = new Vector3 (m_targetpos.x, 0.5f, m_targetpos.z);
transform.position = v;
}