示例#1
0
    void CameraRoll()
    {
        // targetの移動量分、自分(カメラ)も移動する
        transform.position += targetObj.transform.position - targetPos;
        targetPos           = targetObj.transform.position;

        // キーを押している間
        if (Input.anyKey)
        {
            // カメラ移動量
            float InputX = 0f;//Input.GetAxis("Mouse X");
            if (Input.GetKeyDown(KeyCode.A) && script.isRotate == false)
            {
                InputX          = -90.0f;
                script.isCamera = true;
                script.changeCameraRotateLeft();
            }

            if (Input.GetKeyDown(KeyCode.D) && script.isRotate == false)
            {
                InputX          = 90.0f;
                script.isCamera = true;
                script.changeCameraRotateRight();
            }

            // float mouseInputY = Input.GetAxis("Mouse Y");
            // targetの位置のY軸を中心に、回転(公転)する
            transform.RotateAround(targetPos, Vector3.up, InputX);
            // カメラの垂直移動(※角度制限なし、必要が無ければコメントアウト)
            // transform.RotateAround(targetPos, transform.right, mouseInputY * Time.deltaTime * 200f);
            script.isCamera = false;
        }
    }