Unity中,实现空物体跟随鼠标移动而旋转的代码
这个代码将空物体跟随鼠标移动而绕Y轴和X轴旋转。您可以将代码放到空物体上,然后将其与其他物体进行关联,使其跟随鼠标移动而旋转。
public class RotateWithMouse : MonoBehaviour
{
// 旋转速度
public float speed = 10f;
// 是否按下鼠标左键
private bool isDragging = false;
void Update ()
{
// 如果按下鼠标左键
if (Input.GetMouseButtonDown(0))
{
isDragging = true;
}
// 如果释放鼠标左键
else if (Input.GetMouseButtonUp(0))
{
isDragging = false;
}
// 如果正在拖动鼠标左键
if (isDragging)
{
// 获取鼠标移动的距离
float horizontal = Input.GetAxis("Mouse X") * speed * Time.deltaTime;
float vertical = Input.GetAxis("Mouse Y") * speed * Time.deltaTime;
// 绕着Y轴旋转
transform.Rotate(Vector3.up, -horizontal, Space.World);
// 绕着X轴旋转
transform.Rotate(Vector3.right, vertical, Space.World);
}
}
}