unity的摄像机视野及旋转控制总结

来源:互联网 发布:matlab矩阵加法 编辑:程序博客网 时间:2024/05/16 03:05
//相机视野拉近和拉远,差值得到
        distance = offest.magnitude;
        distance += -Input.GetAxis("Mouse ScrollWheel")*slideSpeed;
        distance = Mathf.Clamp(distance, 2, 18);
        offest = offest.normalized * distance;//让相机移动到这个位置


//相机的旋转
  transform.RotateAround(player.position, player .up, Input.GetAxis("Mouse X") * RotaSpeed);
   Vector3 Roposition = transform .position;
            Quaternion Rotation = transform .rotation;


            transform.RotateAround(player.position, transform .right , Input.GetAxis("Mouse Y") * RotaSpeed);
            //影响视野的属性的有position,rotation
           //得到旋转角度,超出限制则让属性恢复原样,使其旋转无效
            float agule =transform.eulerAngles .x;
            if(agule >80||agule <10)
            {
                transform.position = Roposition;
                transform.rotation = Rotation;
            }
        }
   //相机的大小得到size值即可     
   public void OnPlusSize()//视野增大
    {
        minMap.orthographicSize++;
        print(minMap.orthographicSize++);
    }
    public void OnReduceSize()//视野减小
    {
        minMap.orthographicSize--;
    }
阅读全文
0 0
原创粉丝点击