思路:要使得物体移动到鼠标点击的位置 无非两步:1.获得鼠标点击位置世界坐标 2.使用合适的移动方法移动到目标位置
实现思路:可以行走的条件:物体要移动那么必须保证鼠标点击的地方为可行走的区域,也就是可以发生碰撞 检测是否为行走面那么可以使用射线检测 由于鼠标坐标为屏幕坐标需要转换为屏幕坐标 判断是否为物理运动选择合适的移动方法
代码如下:
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RayCastHit hit;
Vector3 worldPosition;
Vector3 targetPoint;
worldPosition = Camera.main.ScreenToWorld(input.mousePosition);
targetPosition = new Vector3(worldPosition.x,worldPosition.y,tranform.position.z)
if (Physics.Raycast(ray, out hit))
{
Transform.Translate(targetPoint*Time.deltaTine);
}
}