Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Гайды Мой Кабинет

Как определить позицию курсора мыши в Unity

Приветствую! При разработке различных игр, нам очень часто приходится отслеживать позицию курсора мыши. И в данной статье мы как раз этим и займёмся.

Сначала нам необходимо найти с помощью свойства Input.mousePosition, текущее положение мыши в пиксельных координатах. А далее, с помощью метода Camera.ScreenToWorldPoint, мы преобразуем положение мыши в пиксельных координатах в мировое пространство. Полученное значение занесём в переменную diference.

void Update()
{
    Vector3 diference = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}

Для наглядного отображения того, какие значения хранятся в переменной diference, используем метод Debug.Log():

void Update()
{
    Vector3 diference = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    Debug.Log(diference);
}

После запуска нашего скрипта, двигайте мышь по игровому полю, и в окне Console Вы увидите постоянное изменение значений переменной diference, в которой и хранится информация о текущем положении мыши относительно мирового пространства.

Позиция курсора мыши относительно Объекта

Обычно, при создании игр, например какого-нибудь шутера, позицию курсора мыши следует считать не относительно мирового пространства, а относительно вашего персонажа, который производит выстрел. Поэтому код, который мы писали выше, следует немножко отредактировать:

void Update()
{
    Vector3 diference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
}

Как Вы могли заметить, мы в конце строки дописали transform.position, в котором хранится информация о положении вашего персонажа, то-есть объекта, который производит выстрел. Таким образом, отняв значения позиции Вашего персонажа, расчёт позиции курсора мыши будет производится НЕ относительно всего мирового пространста, а относительно вашего персонажа - где Ваш персонаж будет являться центром системы отсчёта.

Теперь, после того, как Вы научились получать значение курсора мыши в реальном времени, Вы можете использовать это для вращение вашего персонажа в сторону курсора, или для стрельбы в сторону курсора, или для каких-либо ещё целей.

Если Вам понравился данный Гайд, буду рад Вашим лайкам и комментариям :)

Вы можете отблагодарить автора донатом. ₽ Спасибо

Комментарии

0
Будьте первым, кто оставит комментарий к этому посту
Гости не могут оставлять комментарии. Войдите на Сайт или Зарегистрируйтесь