Войти
ПрограммированиеФорум2D графика и изометрия

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

#0
19:08, 24 июля 2014

Делаю игру, как дудл джамп. Есть персонаж и платформы.
Хочу сделать, когда он летит вверх - игнорировать столкновения с платформами.

Придумал что когда скорость по  Y больше нуля, игнорируем столкновения со всеми платформами. Храним их в массиве, пробегаем по ним и говорим IgnoreCollision() или отключаем коллайдер.

Однако как игнорировать те столкновения, которые происходят если у меня у персонажа уже отрицательная скорость (летим вниз), но посередине другой платформы? Ну т.е. скорость изменилась на отрицательную когда персонаж и платформа были наложены друг на друга. Как проверить расстояния до платформ, и не сталкиваемся ли мы с ними.

#1
13:55, 30 июля 2014

Что никто под юнити не кодит?

#2
15:19, 30 июля 2014

не знаю как на Unity) - просто добавьте проверку высоты над платформой - если выше H над ней - включаем столкновения - ниже - столкновения нет - проваливаемся

P.S. проверить высоту можно через Physics2D.Raycast

#3
15:40, 30 июля 2014

Еще можно попробовать вариант расположить под платформой триггер. Как только перс попадает в триггер, отключается платформа над ним и включается обратно когда он пролетел и платформу и триггер.

ПрограммированиеФорум2D графика и изометрия

Тема в архиве.