Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте OnCollisionEnter і OnTriggerEnter | Unity Фізика
Unity для початківців
course content

Зміст курсу

Unity для початківців

Unity для початківців

1. Вступ до Unity
2. Напишіть свій перший скрипт
3. Unity Фізика
4. Unity UI та Звуки
5. Полірування та експорт вашої гри

book
OnCollisionEnter і OnTriggerEnter

OnCollisionEnter2D

Usage: This method is called when a 2D collider attached to the GameObject this script is attached to, collides with another collider in the scene and at least one of the colliders has a Rigidbody2D attached.

Trigger: This method is mainly used for handling physical collisions, where objects actually "bump" into each other.

Example Scenario: Imagine you have a game with a character that jumps and lands on platforms. When the character lands on a platform, you may want to play a landing sound effect, change the character's animation, or trigger some other action. You would use OnCollisionEnter2D to detect when the character's collider collides with the platform's collider.

OnCollisionEnter2D:

Використання: Цей метод викликається, коли 2D колайдер, прикріплений до GameObject, до якого прикріплений цей скрипт, зіштовхується з іншим колайдером у сцені, і принаймні один з колайдерів має прикріплений Rigidbody2D.

Тригер: Цей метод в основному використовується для обробки фізичних зіткнень, коли об'єкти фактично "стикаються" один з одним.

Приклад сценарію: Уявіть, що у вас є гра з персонажем, який стрибає і приземляється на платформи. Коли персонаж приземляється на платформу, ви можете захотіти відтворити звук приземлення, змінити анімацію персонажа або викликати іншу дію. Ви б використовували OnCollisionEnter2D, щоб виявити, коли колайдер персонажа зіштовхується з колайдером платформи.

OnTriggerEnter2D:

Використання: Цей метод викликається, коли 2D колайдер, прикріплений до GameObject, до якого прикріплений цей скрипт, перекривається з іншим колайдером у сцені, і принаймні один з колайдерів має увімкнену властивість "Is Trigger".

Тригер: На відміну від OnCollisionEnter2D, цей метод не стосується фізичних зіткнень, а скоріше виявлення, коли один об'єкт входить у простір іншого без обов'язкового зупинення їх руху. Подумайте про це, як про проходження через двері без фізичного їх відкриття.

Приклад сценарію: Припустимо, у вас є гра, де гравець збирає монети. Коли персонаж гравця рухається над монетою, ви хочете збільшити рахунок гравця і зробити монету невидимою. Ви б використовували OnTriggerEnter2D, щоб виявити, коли колайдер гравця перекривається з колайдером монети.

Що таке Тег?

Визначення: Тег - це рядкове значення, яке ви можете призначити GameObject в Unity.

Призначення: Теги використовуються для категоризації та ідентифікації GameObjects для різних цілей, таких як розрізнення об'єктів, керованих гравцем, ворогів, колекційних предметів, перешкод тощо.

Загальні використання тегів:

Ідентифікація ігрових об'єктів: Теги зазвичай використовуються для ідентифікації важливих GameObjects у вашій сцені, таких як персонаж гравця, вороги, колекційні предмети, цілі тощо.

Виявлення зіткнень: Теги можуть використовуватися для визначення типу GameObjects, які беруть участь у зіткненнях. Наприклад, ви можете захотіти перевірити, чи зіткнувся гравець з ворогом або колекційним предметом.

Виявлення тригерів: Подібно до виявлення зіткнень, ви можете використовувати теги для ідентифікації GameObjects, які входять у тригерні зони, встановлені у вашій сцені.

Приклад:

Цей метод викликається щоразу, коли відбувається зіткнення між гравцем та іншим GameObject у сцені.

Метод отримує параметр collision типу Collision2D, який містить інформацію про зіткнення.

Він перевіряє, чи тег колайдера, що бере участь у зіткненні, дорівнює "ground".

Якщо умова виконується, він виводить "you lost" у консоль Unity за допомогою Debug.Log().

1. When using OnTriggerEnter2D, which property of colliders must be set to true to enable trigger detection?

2. При використанні OnTriggerEnter2D, яка властивість колайдерів повинна бути встановлена в true для увімкнення виявлення тригера?

When using `OnTriggerEnter2D`, which property of colliders must be set to true to enable trigger detection?

When using OnTriggerEnter2D, which property of colliders must be set to true to enable trigger detection?

Виберіть правильну відповідь

При використанні OnTriggerEnter2D, яка властивість колайдерів повинна бути встановлена в true для увімкнення виявлення тригера?

При використанні OnTriggerEnter2D, яка властивість колайдерів повинна бути встановлена в true для увімкнення виявлення тригера?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 4
We're sorry to hear that something went wrong. What happened?
some-alt