unity 拖拽模型360旋转

模型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,unity)