unity运行游戏后点击场景中的模型可以旋转模型后移动模型位置完整代码示例
时间: 2024-11-09 16:31:43 浏览: 38
在Unity中创建一个简单的交互场景,允许用户点击模型并旋转和移动它,你可以使用C#编写脚本。首先,在`Assets` -> `Create` -> `C# Script` 中创建一个新的脚本,命名为例如`ModelController.cs`。然后将以下代码粘贴到该脚本中:
```csharp
using UnityEngine;
public class ModelController : MonoBehaviour
{
public Transform targetObject; // 需要旋转和移动的目标对象
private bool isDragging = false;
private Vector3 initialPosition; // 初始化时的位置
void Start()
{
initialPosition = transform.position; // 记录初始位置
}
void Update()
{
if (Input.GetMouseButtonDown(0) && isDragging == false)
{ // 如果按下左键并且未开始拖动
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
targetObject.position = hit.point; // 将目标对象设置在鼠标点击点
isDragging = true;
}
}
if (isDragging)
{
float rotationSpeed = Input.GetAxis("Mouse X"); // 获取鼠标滚轮的滚动值作为旋转速度
targetObject.RotateAround(transform.position, Vector3.up, rotationSpeed * Time.deltaTime); // 旋转对象
}
if (Input.GetMouseButtonUp(0)) // 当鼠标松开时结束拖动
{
isDragging = false;
}
}
}
```
在这个脚本中,我们创建了一个`ModelController`组件,并设置了需要操作的对象(`targetObject`)。当玩家按下左键并保持时,脚本会检测鼠标点击的位置并将目标物体移动到那里。同时,通过鼠标滚轮控制物体的旋转。
在Unity编辑器中,确保将此脚本附加到你想让其响应点击、旋转和移动的模型上。
阅读全文
相关推荐


















