@IslamKarimov2018

Как правильно проверять столкновение в Unity?

Пытаюсь сделать столкновение двух двумерных объектов в Unity. Не использую Rigidbody, а вычисляю все сам с помощью BoxCast (на некоторых объектах CircleCast). Проблема в следующем: при столкновении двух движущихся объектов оба говорят о том, что они столкнулись. И получается так, что первый объект обрабатывает столкновение и уменьшает здоровье, и второй объект обрабатывает столкновение и отнимает здоровье у первого объекта.
Как можно грамотнее реализовать, чтобы обработку столкновения выполнял один из сталкиваемых объектов, а не оба?
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
На чёткий вопрос - чёткий ответ.
Нужно логически принять и потом соблюдать одно из двух условий:

а) Объекты со здоровьем сами следят за своим здоровьем. И никакой другой объект, кроме них, не в праве это делать.
spoiler
То есть в коде снарядов нельзя писать код, уменьшающий здоровье других объектов.

б) Только оружие и снаряды могут уменьшать здоровье другим объектам.
spoiler
То есть в коде объектов со здоровьем нельзя писать код, уменьшающий их собственное здоровье.
Ответ написан
Ваш ответ на вопрос

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

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