Блокировка мыши Unity: как заблокировать и скрыть курсор мыши при разработке игр на Unity

  1. Свойство Cursor.lockState: Unity предоставляет встроенное свойство под названием Cursor.lockState, которое позволяет блокировать и разблокировать курсор мыши в окне игры. Установив для Cursor.lockStateзначение CursorLockMode.Locked, вы можете зафиксировать курсор мыши в центре экрана. Этот метод полезен для игр с видом от первого лица.
Cursor.lockState = CursorLockMode.Locked;
  1. Свойство Cursor.visible: вы также можете скрыть курсор мыши, пока он заблокирован, с помощью свойства Cursor.visible. Установка для Cursor.visibleзначения falseсделает курсор невидимым.
Cursor.visible = false;
  1. Метод LockCursor. Другой подход заключается в создании специального сценария, который блокирует курсор мыши. Этот метод обеспечивает большую гибкость и настройку. Вот пример пользовательского скрипта, который блокирует курсор:
using UnityEngine;
public class MouseLocker : MonoBehaviour
{
    private bool isCursorLocked = true;
    private void Start()
    {
        LockCursor();
    }
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            isCursorLocked = !isCursorLocked;
            LockCursor();
        }
    }
    private void LockCursor()
    {
        Cursor.lockState = isCursorLocked ? CursorLockMode.Locked : CursorLockMode.None;
        Cursor.visible = !isCursorLocked;
    }
}

В этом скрипте нажатие клавиши Escape переключает состояние блокировки курсора.