Skip to content

Latest commit

 

History

History
49 lines (33 loc) · 3.34 KB

File metadata and controls

49 lines (33 loc) · 3.34 KB

🧪 Практическое задание: "Турель-преследователь с плавным наведением"

Цель: Создать поведение врага (турели), который использует все изученные векторные операции: Distance, Lerp, Dot Product и Cross Product.


Описание задачи:

У вас есть:

  • Турель (объект A) с направлением взгляда transform.forward.
  • Игрок (объект B), который движется по сцене.

Требуется реализовать следующие механики (в одном скрипте Turret.cs):

1. Активация по дистанции

Турель "спит". Как только игрок подходит ближе 10 единиц, турель активируется (начинает работу).
Использовать: Vector3.Distance

2. Плавный поворот к игроку

Турель не должна поворачиваться мгновенно. Она должна плавно вращаться в сторону игрока со скоростью rotationSpeed = 120° в секунду.
Использовать: Quaternion.LookRotation + Quaternion.RotateTowards или Vector3.Lerp для направления.

3. Проверка угла обзора (Dot Product)

Турель стреляет только тогда, когда игрок находится внутри сектора 90° перед турелью (то есть угол между направлением турели и направлением на игрока меньше 45° с каждой стороны → dot > 0.7).
Использовать: Vector3.Dot

4. Определение стороны (Cross Product)

В режиме отладки выводите в консоль: игрок слева или справа от турели.
Использовать: Vector3.Cross

5. Стрельба (упрощённо)

Если турель активирована, игрок в поле зрения (dot > 0.7) и дистанция < 10 → каждые 1 секунду выводить в консоль "Pew! Pew!".

Дополнительное задание (опционально):

Сделайте плавное движение снаряда от турели к позиции игрока с помощью Vector3.Lerp.

Ожидаемый результат:

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


Решение:


⭐ Если этот проект был полезен, поставьте звезду на GitHub!