unity鼠标左键控制物体移动
时间: 2023-08-09 16:05:17 浏览: 43
你可以通过以下步骤来实现Unity中鼠标左键控制物体移动:
1. 创建一个空的GameObject并将其命名为“MoveObject”。
2. 在MoveObject上添加一个Box Collider组件,勾选“Is Trigger”选项。
3. 创建一个新的C#脚本并将其命名为“MoveObjectScript”。
4. 将MoveObjectScript脚本附加到MoveObject上。
5. 在MoveObjectScript中添加以下代码:
```csharp
using UnityEngine;
public class MoveObjectScript : MonoBehaviour
{
private bool isDragging = false;
private Vector3 offset;
private float distance = 10;
void OnMouseDown()
{
isDragging = true;
offset = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance));
}
void OnMouseUp()
{
isDragging = false;
}
void Update()
{
if (isDragging)
{
Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, distance);
Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
transform.position = curPosition;
}
}
}
```
6. 现在你可以在场景中选择任何一个物体,并将其拖动到任意位置,通过鼠标左键来控制物体的移动。
注意:这个脚本只是一个简单的示例,你可以根据自己的需求进行修改和扩展。