float speed = 100.0f;
float x;
float z;
void Update () {
if(Input.GetMouseButton(0)){//鼠标按着左键移动
y = Input.GetAxis("Mouse X") * Time.deltaTime * speed;
x = Input.GetAxis("Mouse Y") * Time.deltaTime * speed;
}else{
x = y = 0 ;
}
//旋转角度(增加)
transform.Rotate(new Vector3(x,y,0));
/**---------------其它旋转方式----------------**/
//transform.Rotate(Vector3.up *Time.deltaTime * speed);//绕Y轴 旋转
//用于平滑旋转至自定义目标
pinghuaxuanzhuan();
}
//平滑旋转至自定义角度
void OnGUI(){
if(GUI.Button(Rect(Screen.width - 110,10,100,50),"set Rotation")){
//自定义角度
targetRotation = Quaternion.Euler(45.0f,45.0f,45.0f);
// 直接设置旋转角度
//transform.rotation = targetRotation;
// 平滑旋转至目标角度
iszhuan = true;
}
}
bool iszhuan= false;
Quaternion targetRotation;
void pinghuaxuanzhuan(){
if(iszhuan){
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 3);
}
}