示例#1
0
    void Update()
    {
        if (SSCompassInput.GetRingDown())
        {
            Input.gyro.enabled = !Input.gyro.enabled;
        }

                #if UNITY_EDITOR
        if (Input.GetMouseButtonDown(0))
        {
            mousePos = Input.mousePosition;
        }
        else if (Input.GetMouseButton(0))
        {
            mousePos = Input.mousePosition - mousePos;
            Quaternion xRot = Quaternion.AngleAxis(10 * Time.deltaTime * -mousePos.x, transform.up);
            Quaternion yRot = Quaternion.AngleAxis(10 * Time.deltaTime * mousePos.y, transform.right);
            newForward = xRot * yRot * newForward;
            newUp      = xRot * yRot * newUp;
            mousePos   = Input.mousePosition;
        }
                #else
        gyroAttitube = Input.gyro.attitude;
        newUp        = Vector3.up;

        gyroForward = (gyroAttitube) * Vector3.forward;
        gyroUp      = (gyroAttitube) * Vector3.up;

        newForward = GyroForwardToWorld(gyroForward);
        newUp      = GyroUpToWorld(gyroUp);
                #endif

        transform.LookAt(transform.position + newForward, newUp);
    }
示例#2
0
    void Awake()
    {
        if (instance != null)
        {
            Destroy(this);
        }
        else
        {
            instance = this;

            Input.compass.enabled = true;

            DontDestroyOnLoad(gameObject);
        }
    }