@Gera01
Unity, С# и больше ничего.

Как сделать так чтобы функция OnTrigerEnter действовала только при прикосновением с 1 объектом?

Как сделать так чтобы функция OnTrigerEnter действовала только при прикосновением с 1 объектом? Есть объект (ёж), который должен удалять игрока (это я cделал) и есть стена которая добавляет балл при прикосновении, но когда игрок соприкасается со стеной он тоже удаляется. Как сделать чтобы стена не удаляла игрока, то есть OnTrigerEnter работала только на ежа. (У игрока, ежа и стены есть RigidBody и BoxCollider, еж и стена с триггером).
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Если строго отвечать на ваш вопрос, то в настройках физики можно задать, какой слой с каким могут взаимодействовать. Но ёж станет ходить сквозь стены.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos Куратор тега Unity
Правильный вариант - удалять должна не стена (стене пофиг кто в нее ударился), а сам объект, который ударился, должен ловить Ontriggerenter и уже решать удаляться ему или нет (на еже есть скрипт с удалением, на других объектах нет).

Неправильный, но рабочий вариант - стена проверяет что за объект столкнулся и решает удалять его или нет. Проверять можно по:
- имени (ужасно)
- наличию скрипта (средне)
- тегу (норм).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы