public float mouseSensitivity = 100f;
private float xRotation = 0f;
private float yRotation = 0f;
void Start()
{
Cursor.lockState = CursorLockMode.Locked;
}
void Update()
{
float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime;
xRotation -= mouseY;
xRotation = Mathf.Clamp(xRotation, -90f, 90f);
yRotation += mouseX;
transform.localRotation = Quaternion.Euler(xRotation, yRotation, 0f);
}
Mouse’un hassasiyeti için ‘mouseSensivity’ değişkenini, x ekseni ve y ekseni rotasyon değerini tutmamız için ise ‘yRotation’ ve ‘xRotation’ değişkenlerini oluşturduk.
Cursor.lockState = CursorLockMode.Locked;
İmleci gizler ve ekranın ortasına kitler.
float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime;
Yatay eksende ve dikey eksende mouse’u çevirdiğimiz değeri, hassasiyet ve zamanla çarpar ve bu çıkan değeri tutar.
xRotation -= mouseY;
xRotation = Mathf.Clamp(xRotation, -90f, 90f);
Yukarı — aşağı bakış açısı kazandırmak için,
Yukarı aşağı rotasyon değerinden (xRotation), yukarıda bulunan ‘mouseY’ değerini çıkardık. Böylelikle yukarı aşağı bakış açımız değişti. Bu açıyı 90 dereceye sabitledik. Çünkü 360 derece dönsün istemeyiz.
yRotation += mouseX;
Sağ — sol bakış açısı kazandırmak için ise,
Sağ sol rotasyon değerinden (yRotation), yukarıda bulunan ‘mouseX’ değerini ekledik. Böylelikle sağ sol bakış açımız değişti.
transform.localRotation = Quaternion.Euler(xRotation, yRotation, 0f);
- Quaternion.Euler = Dünyamızdaki açılar.
Objemizin rotasyonunu, hesapladığımız rotasyonlara eşitle.

