Похожие презентации:
Занятие 7. Зайцев Денис Олегович Unity Коллайдеры и триггеры
1. Занятие 7 Коллайдеры и триггеры Unity
2. Вспоминаем прошлое занятие
Объект класса = Экземпляр классаСвойства объекта выражаются в полях класса (переменные)
Поведение объекта выражается в методах класса (функции, но внутри
класса)
3.
1.Управление персонажем.
Напишите класс, который будет отвечать за передвижение.
Используйте Input.GetAxisRaw(“Horizontal”) и
Input.GetAxisRaw(“Vertical”) для получения направления
движения.
В FixedUpdate() сделайте перемещение при помощи
transform.Translate(new Vector3() * Time.fixedDeltaTime * speed).
(создайте переменную speed).
(Чтобы создать новый Vector3 используйте оператор new:
Vector3 Direction = new Vector3(x, y, z);
(Input.GetAxiwRaw() – получает значение клавиш по
«горизонтали/вертикали», горизонталь клавиши AD,
вертикаль клавиши WS.
Значения могут быть -1, 0, 1 (для горизонтали -1 это клавиша
A, 1 это клавиша D, 0 ничего не нажато)
4. Урок по Unity: Коллайдеры и триггеры
Что такое коллайдеры?Коллайдеры — это невидимые компоненты, определяющие
физическую форму объекта.
Они нужны для:
• Обнаружения столкновений (физическое
взаимодействие).
• Обнаружения триггеров (события при пересечении).
• Без коллайдера объект не участвует в физике и не
реагирует на столкновения
5. Основные типы коллайдеров
КоллайдерОписание
Когда использовать
Box Collider
Прямоугольная форма
(куб)
Кубы, стены, платформы,
ящики
Sphere Collider
Сферическая форма
Шары, пули, взрывы
Capsule Collider
Капсула (цилиндр с
полусферами)
Персонажи, враги,
препятствия
Mesh Collider
Форма по 3D-модели
Сложные объекты
(машины, деревья)
6. Рассмотрим разные коллайдеры
7. Рассмотрим разные коллайдеры
8. Рассмотрим разные коллайдеры
9. Для работы столкновений на объект нужно добавить RigidBody!
10. Основные типы коллайдеров
МетодКогда вызывается
Условия
OnCollisionEnter(Collisio
n col)
При физическом
столкновении
Оба объекта имеют
Collider и Rigidbody
OnCollisionStay
Пока объекты касаются
—
OnCollisionExit
При выходе из
столкновения
—
OnTriggerEnter(Collider
other)
При входе в триггер
Один объект — Is
Trigger = true
OnTriggerStay
Пока в триггере
—
OnTriggerExit
При выходе из триггера
—
11.
Задание 1: Столкновение с уничтожениемСоздайте куб с Box Collider и Rigidbody.
Создайте другой объект (например, шар) с Box Collider.
При столкновении — уничтожьте шар (Destroy(other.gameObject)).
Используйте OnCollisionEnter.
Задание 2: Триггер — сбор монет
Создайте монету с Sphere Collider + Is Trigger = true.
Игрок имеет Capsule Collider + Rigidbody.
При входе в триггер:
Увеличьте счётчик очков.
Уничтожьте монету.
Выведите в консоль: "Монета собрана!".
Используйте OnTriggerEnter.
12.
Задание 3: Зона уронаСоздайте зону (куб) с Box Collider + Is Trigger = true.
При входе игрока в зону:
Уменьшайте здоровье на 10 каждую секунду (OnTriggerStay).
При выходе — остановите урон (OnTriggerExit).
Используйте print для вывода здоровья в консоль.
Задание 4: Проверка тега при столкновении
Создайте несколько объектов с тегами: "Enemy", "Player", "Pickup".
В OnCollisionEnter:
Если col.gameObject.tag == "Enemy" — уменьшите здоровье.
Если "Pickup" — добавьте очки.
Иначе — ничего.
13.
Задание 5: Дверь-триггерСоздайте дверь (куб) с Box Collider + Is Trigger.
При входе игрока с тегом "Player":
Переместите дверь вверх (Vector3.up * 3).
При выходе — верните вниз.
Используйте OnTriggerEnter и OnTriggerExit.
Программирование