오른쪽 마우스 드래그를 통하여 마우스가 향하는 쪽으로 카메라를 회전시키는 스크립트입니다
회전 속도 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);
}
}