模型360旋转
//全局类 定义静态变量Tranform : _DragOb
GlobeData._DragOb ;
private Update()
{
//鼠标按下记录按下的物体
if (Input.GetMouseButtonDown(1))
{
GlobeData._DragObj = transform;
Debug.Log(GlobeData._DragObj.name);
}
//持续检测按下状态,并且检测当前对象和全局引用的对象是否一致
if (Input.GetMouseButton(1) && GlobeData._DragObj == transform)
{
float fMouseX = Input.GetAxis("Mouse X");
float fMouseY = Input.GetAxis("Mouse Y");
//如果相机角度存在旋转,在场景中发现模型旋转
//不是绕着Y轴或者X轴旋转,不要慌
//在Inspector调整模型旋转轴向,然后在代码中更改
//Vector3.up 或者Vector3.forward 多试几次
transform.Rotate(Vector3.up, -fMouseX * speed, Space.World);
transform.Rotate(Vector3.right, fMouseY * speed, Space.World);
}
//鼠标抬起释放记录的物体
if (Input.GetMouseButtonUp(1))
{
GlobeData._DragObj = null;
}
}
本文介绍了一个使用Unity实现的模型360度旋转控制脚本,通过鼠标操作来旋转模型,提供了详细的代码实现,包括如何在按下鼠标时记录物体、持续检测并响应鼠标移动,以及在鼠标抬起时释放物体。
4286

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



