Как заставить объект следовать за курсором мыши в Unity

Unity — это мощная платформа для разработки игр, предлагающая безграничные возможности для создания интерактивных впечатлений. Одной из общих особенностей многих игр является способность объектов следовать за курсором мыши. Независимо от того, разрабатываете ли вы 2D- или 3D-игру, реализация этой функции может повысить уровень интерактивности и погружения для ваших игроков. В этом уроке мы покажем вам, как заставить объект следовать за курсором мыши в Unity с помощью сценариев C#.

Шаги

  • Создайте новый проект Unity Сначала запустите Unity и создайте новый проект. Выберите шаблон проекта в 2D или 3D в зависимости от требований вашей игры.
  • Подготовьте объект для следования за курсором. Прежде чем писать какой-либо код, вам понадобится объект в вашей сцене, который будет следовать за курсором мыши. Это может быть любой спрайт или игровой объект, которым вы хотите управлять.
  • Прикрепите скрипт к объекту. Выберите объект, за которым будет следовать курсор мыши, в иерархии Unity. Затем создайте новый скрипт C# и прикрепите его к выбранному объекту.
  • Написание сценария C#. Откройте сценарий и напишите следующий код:

'FollowCursor.cs'

using UnityEngine;

public class FollowCursor : MonoBehaviour
{
    // Update is called once per frame
    void Update()
    {
        // Get the current mouse position in screen coordinates
        Vector3 mousePosition = Input.mousePosition;

        // Convert the mouse position from screen space to world space
        mousePosition = Camera.main.ScreenToWorldPoint(mousePosition);

        // Update the object's position to the mouse position
        transform.position = new Vector3(mousePosition.x, mousePosition.y, transform.position.z);
    }
}

Пояснение Кодекса:

  • Метод 'Update()' вызывается в каждом кадре.
  • 'Input.mousePosition' получает текущую позицию мыши в координатах экрана.
  • 'Camera.main.ScreenToWorldPoint()' преобразует положение мыши из экранного пространства в мировое пространство с учетом перспективы камеры.
  • Наконец, мы обновляем положение объекта в соответствии с преобразованной позицией мыши.

Сохраните скрипт и вернитесь в Unity. Unity автоматически скомпилирует скрипт.

Тестирование

  • Проверьте сцену. Нажмите кнопку воспроизведения в Unity и перемещайте мышь по окну игры. Вы должны увидеть объект, следующий за курсором.
  • Регулировки (необязательно). Вы можете настроить поведение объекта, изменив сценарий. Например, вы можете добавить эффект сглаживания, чтобы сделать движение менее резким.

Дальнейшая настройка

  • Добавьте ограничения на движение объекта, например, зафиксируйте его положение в определенных пределах.
  • При необходимости измените внешний вид объекта или добавьте дополнительную функциональность.

Сохраните свою работу. Если вас устраивает поведение, сохраните проект Unity, чтобы сохранить прогресс.

Заключение

Вы успешно создали сценарий, позволяющий объекту следовать за курсором мыши в Unity. Эта простая, но эффективная функция может повысить интерактивность ваших игр и создать более захватывающий опыт для игроков. Не стесняйтесь экспериментировать дальше и настраивать поведение в соответствии с уникальными требованиями вашего проекта.