Files
Praca-MagisterskaMJK/Assets/Scripts/MouseLook.cs
2026-04-15 23:52:08 +02:00

46 lines
1.3 KiB
C#

using UnityEngine;
using UnityEngine.InputSystem;
public class MouseLook : MonoBehaviour
{
public float mouseSensitivity = 100f;
public Transform playerBody; // Tu przeci¹gniesz Fasolkê (Player)
private float xRotation = 0f;
public bool canLook = false; // Zablokujemy obracanie przed startem
public void EnableLooking()
{
canLook = true;
// Blokujemy kursor na œrodku ekranu i go chowamy
Cursor.lockState = CursorLockMode.Locked;
}
void Update()
{
if (!canLook) return;
if (Mouse.current == null)
{
Debug.LogError("Brak myszki!");
return;
}
Vector2 mouseDelta = Mouse.current.delta.ReadValue();
// Jeœli to zobaczysz w konsoli, znaczy ¿e system dzia³a, a problem jest w skali
if (mouseDelta != Vector2.zero)
{
Debug.Log($"Ruch myszy: {mouseDelta}");
}
float mouseX = mouseDelta.x * mouseSensitivity * 0.1f; // Zmniejszy³em mno¿nik dla testu
float mouseY = mouseDelta.y * mouseSensitivity * 0.1f;
xRotation -= mouseY;
xRotation = Mathf.Clamp(xRotation, -90f, 90f);
transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
playerBody.Rotate(Vector3.up * mouseX);
}
}