спасибо, что нашли время, чтобы прочитать мой вопрос.
Я пишу 2D-шутер сверху вниз.В настоящее время он использует Box2d в качестве физического движка.Дело в том, что он не использует Box2d в полной мере, просто для обнаружения столкновений и основного цикла обновления скорости / вращения.Любые планы по добавлению настоящей физики были бы просто конфеткой, а не изменит правила игры.
Теперь я выбрал Box2d, потому что прошел через 2 других физических движка, и они просто не могли справиться с типами столкновений, которые я 'м обнаружения.Я создаю несколько «пуль» с очень высокими скоростями, и я не хочу, чтобы они наносили мгновенные удары по своим целям.У JigLib и Flixel была одна и та же проблема - пули не пересекались с врагами во время обновления кадра и, следовательно, не обнаруживались как столкновения (т.е. пули проходили сквозь врагов, потому что они двигались быстро).
Iпереместился в Box2d из-за его итеративной выборки столкновений, а также из-за метода SetAsBullet для тел.И это прекрасно работает!Но теперь Box2d также доставляет мне неприятности - генерирование нескольких пуль в секунду или в то же время серьезно снижает мой fps.
Поэтому я удалил Box2d, чтобы подтвердить, что это не ограничение рендеринга ... добавленомоя собственная система скорости / вращения, и я могу стрелять сотнями пуль в секунду.Большой!Но в ней отсутствует какое-либо обнаружение столкновений.
Итак, вопросы:
1) Должен ли я написать свой собственный итерационный механизм столкновений?
2) Должен ли я попробовать Box2dопять же, возможно, с некоторыми изменениями, чтобы ускорить добавление новых тел?
3) Есть ли другая альтернатива, возможно, легкий физический движок, который специализируется на этом?
4) Знаете ли вы о каких-либодругие методы или шаблоны дизайна, которые могут быть полезны?
Большое спасибо за вашу помощь!
Редактировать: Должен заметить, есть не только пули, но и более крупные, более медленные снаряды.Я подумал, что луч должен навести отрезок на предыдущую позицию снаряда и поймать пересечения, но это не сработает для более крупных объектов: (