using UnityEngine;
using System.Collections;
public class www : MonoBehaviour {
// Use this for initialization
void Start () {
StartCoroutine(OnMouseDown());
}
public Vector3 mousePos;
IEnumerator OnMouseDown()
{
mousePos = Input.mousePosition;//获取当前坐标
while (Input.GetMouseButton(0))
{
Vector3 offset = mousePos - Input.mousePosition;//偏移量
transform.Rotate(Vector3.up * offset.x, Space.World);//左右旋转
transform.Rotate(Vector3.right * -offset.y, Space.World);//上下旋转
mousePos = Input.mousePosition;
yield return null;
}
}
}
该博客介绍了一个Unity3D脚本,通过OnMouseDown()协程实现游戏对象根据鼠标点击并拖动进行3D空间内的旋转。代码中利用Input.GetMouseButton(0)检查鼠标左键是否按下,然后计算鼠标移动的偏移量来更新对象的旋转角度,实现了对象的平滑旋转效果。

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



