Я разрабатываю 2D-игру с очень большими уровнями, в которой две команды (около 200 объектов на команду) сражаются друг с другом в самолетах, танках, башенках и т. Д. С каждым существом, стреляющим в пули у своего врага, ожидается, что в одно мгновение будет много предметов. Какой алгоритм обнаружения столкновений можно использовать для поддержки столкновения для большого количества объектов? Объекты - простые фигуры (прямоугольники и круги). Будет ли подход грубой силы достаточным или разбить уровень в сетку?Эффективное обнаружение столкновений с множеством объектов сразу
0
A
ответ
0
Не используйте подход грубой силы. Вы очень скоро столкнетесь с проблемами. Там много статей и статей по этой теме.
Но если вы действительно не хотите реализовать свое собственное решение, выберите существующий механизм столкновения/физики, который может решить это для вас. Вы делаете 2D-игру, тогда очевидный выбор - Box2D, который портирован на многие платформы и используется во многих игровых движках и играх (например, Angry Birds и его клоны). Также этот вопрос, вероятно, лучше подходит для Game Development site, так как вы на самом деле не решаете какую-либо конкретную проблему программирования.
Смежные вопросы
- 1. Эффективное обнаружение столкновений
- 2. Эффективное обнаружение столкновений в AS3
- 3. Обнаружение столкновений движущихся объектов
- 4. Обнаружение столкновений для быстродвижущихся объектов
- 5. Обнаружение столкновений с NSMutable массивом объектов
- 6. обнаружение столкновений с большим количеством объектов
- 7. Обнаружение столкновений с PyGame
- 8. Обнаружение столкновений
- 9. Эффективное обнаружение столкновений для полигонов (флот) на Android
- 10. Обнаружение столкновений с прямоугольниками
- 11. Обнаружение столкновений с bullet
- 12. Обнаружение столкновений с отскоком
- 13. Обнаружение столкновений с UIAnimation
- 14. Обнаружение столкновений в Cocos2D
- 15. Обнаружение столкновений OpenGL 3D
- 16. Обнаружение столкновений работает неправильно
- 17. Простое обнаружение столкновений
- 18. Управление множеством компьютеров сразу
- 19. Обнаружение столкновений - Любой язык
- 20. Box2d Обнаружение столкновений с массивами
- 21. 2D непрерывное обнаружение столкновений
- 22. Обнаружение столкновений многоугольника с полигоном
- 23. Обнаружение столкновений с мечом XNA
- 24. Обнаружение столкновений с холстом HTML5
- 25. Обнаружение столкновений с использованием MeshGeometry3D
- 26. PyGame: обнаружение столкновений с блоком
- 27. Обнаружение столкновений XNA с BoundingBoxes
- 28. C# Обнаружение столкновений с PictureBox
- 29. Обнаружение столкновений с использованием javascript
- 30. Обнаружение столкновений с массивами/списками
Вы можете использовать пул для пуль, чтобы не выделять память каждый раз, когда вы снимаете, а также для столкновения, которое вы можете использовать, и API для этого, или вы хотите сделать это «вручную»? – DGomez
Почему бы не использовать физический движок, например box2d? –