본문 바로가기

카테고리 없음

유니티 드래그 카메라 구현/ 유니티 카메라 이동 구현/ 유니티 드래그 카메라 회전

728x90

오른쪽 마우스 드래그를 통하여 마우스가 향하는 쪽으로 카메라를 회전시키는 스크립트입니다

회전 속도 public float rotateSpeed와 리미트 앵글public float limitAngle 을 설정하였고

마우스 x,y를 불러옵니다

 

 

마우스의 오른쪽 버튼이 활성화 되었을때 이동 시키므로 Input.GetMouseButtonDown(1)

True로 합니다 

마우스 오른쪽 버튼이 비활성화 되었을 경우에는 Input.GetMouseButtonUp(1)

False 로 비활성화 합니다

 

 

using UnityEngine;

public class CameraMove : MonoBehaviour
{
    public float rotateSpeed = 5.0f;
    public float limitAngle = 70.0f;

    private bool isRotate;
    private float mouseX;
    private float mouseY;

    private void Start()
    {

    }

    private void Update()
    {

   
        if (Input.GetMouseButtonDown(1))
        {
            isRotate = true;
        }
        if (Input.GetMouseButtonUp(1))
        {
            isRotate = false;
        }

        if (isRotate)
        {
            Rotation();
        }
    }

    public void Rotation()
    {
        mouseX += Input.GetAxis("Mouse X") * rotateSpeed; // AxisX = Mouse Y
        mouseY = Mathf.Clamp(mouseY + Input.GetAxis("Mouse Y") * rotateSpeed, -limitAngle, limitAngle);
        transform.rotation = Quaternion.Euler(transform.rotation.x - mouseY, transform.rotation.y + mouseX, 0.0f);
    }
}

728x90