private GameObject center;
private float rotateSpeed = 40f;
private float rotateZ = 0;
private float minR = -15f;
private float maxR = 15f;
private float sensitity = 50f;
void Start()
{
//获取物体
center = GameObject.Find("center");
}
//鼠标拖动事件写在Update()中 if (Input.GetMouseButton(0)) { float rotateY = center.transform.localEulerAngles.y - Time.deltaTime * sensitity*Input.GetAxis("Mouse X"); if (rotateY>=0&&rotateY<=180) { rotateZ += Time.deltaTime * sensitity * Input.GetAxis("Mouse Y"); } else { rotateZ -= Time.deltaTime * sensitity * Input.GetAxis("Mouse Y"); } //控制上下移动的范围(限制) rotateZ = Mathf.Clamp(rotateZ, minR, maxR); center.transform.eulerAngles = new Vector3(0, rotateY, rotateZ);
}
本文介绍了一个简单的Unity脚本,用于实现通过鼠标拖动来旋转场景中的一个物体。该脚本利用了Input.GetAxis方法来获取鼠标的水平和垂直位移,并据此调整物体的旋转角度。
6981

被折叠的 条评论
为什么被折叠?



