• u3d按住鼠标右键才转动摄像机的方法


    unity3d获取鼠标3个键的响应如下:
    鼠标左键GetMouseButton(0)
    鼠标右键GetMouseButton(1)
    鼠标中键GetMouseButton(2)

    知道了鼠标的响应要做到按下右键再转动摄像机就简单了。
    建好一工程UNITY自带的脚本MouseLook.cs中已经把通过鼠标移动旋转摄像机的功能做好了。想要按下右键才再转动摄像机。只要在Update()的相应位置加上Input.GetMouseButton(1)就可以了。
    代码如下:

    void Update ()
     {
      if(Input.GetMouseButton(1))
      {
       if (axes == RotationAxes.MouseXAndY)
       {
        // Read the mouse input axis
        rotationX += Input.GetAxis("Mouse X") * sensitivityX;
        rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
        rotationX = ClampAngle (rotationX, minimumX, maximumX);
        rotationY = ClampAngle (rotationY, minimumY, maximumY);
        
        Quaternion xQuaternion = Quaternion.AngleAxis (rotationX, Vector3.up);
        Quaternion yQuaternion = Quaternion.AngleAxis (rotationY, Vector3.left);
        
        transform.localRotation = originalRotation * xQuaternion * yQuaternion;
       }
       else if (axes == RotationAxes.MouseX)
       {
        rotationX += Input.GetAxis("Mouse X") * sensitivityX;
        rotationX = ClampAngle (rotationX, minimumX, maximumX);
        Quaternion xQuaternion = Quaternion.AngleAxis (rotationX, Vector3.up);
        transform.localRotation = originalRotation * xQuaternion;
       }
       else
       {
        rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
        rotationY = ClampAngle (rotationY, minimumY, maximumY);
        Quaternion yQuaternion = Quaternion.AngleAxis (rotationY, Vector3.left);
        transform.localRotation = originalRotation * yQuaternion;
       }
      }
     }
  • 相关阅读:
    维度穿梭
    演绎与抽象
    幻想的功能
    深层探宝
    内存游戏
    函数内功
    共享与私有的变量
    参数的格式
    功能模拟与功能实现
    【Oracle】基础知识查漏补缺
  • 原文地址:https://www.cnblogs.com/fm168/p/3045760.html
Copyright © 2020-2023  润新知