1.先上效果
?2.废话不多说接下来上代码
using UnityEngine;
using System.Collections;
public class DragRound : MonoBehaviour
{
//获取要旋转的模型
public Transform model;
//模型旋转的速度
public float rSpeed = 2;
//控制旋转的开始与停止
private bool mouseDown = false;
void Update()
{
//鼠标左键按下开始捕捉旋转,抬起即本轮旋转停止
if (Input.GetMouseButtonDown(0))
mouseDown = true;
else if (Input.GetMouseButtonUp(0))
mouseDown = false;
if (mouseDown)
{
//获取鼠标X轴方向上的移动量
float fMouseX = Input.GetAxis("Mouse X");
//获取鼠标Y轴方向上的移动量
float fMouseY = Input.GetAxis("Mouse Y");
model.Rotate(Vector3.up, -fMouseX * rSpeed, Space.World);
model.Rotate(Vector3.right, fMouseY * rSpeed, Space.World);
}
}
}
3.将要旋转物体的Transfrom组件添加到model上
4. 注意:若你的模型中心点不在中心的话,你可以新建一个空物体,将其拖到模型的中心点上将其作为模型的服务体
|