|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Как эффективно просчитывать столкновения сотен объектов?
Дано:
100 синих шаров 100 красных Скорость от 0 до 5 пх в кадр, движуться хаотически. При столкновении синего с красным оба объекта уничтожаются, при столкновении шаров с одинаковым цветом шары отскакивают, так же отскакивают от "стен". Первое что мне на ум приходит, это Сравнивать проекции каждого шара с другим шаром и стнами (всё это реализовать циклом). Но вся проблема в том, что скорости в 25 кадров в секунду при таком подходе мне не добиться. Так же я думал, что можно разбить сцену на сектора и просчитывать каждому шару только его сектор. Но опять же как формировать сектора? Все те же циклы.. Считываем х,y каждого шара пихаем в массив, и когда массив сформирован то опять сравниваем.. Медленно как-то =) Что же делать, как же быть? У кого какие идейки? |
|
|||||
Регистрация: Oct 2009
Адрес: x=9;y=9;z=1;
Сообщений: 22
|
Я бы в вашем случае, использовал бы двухмерную матрицу, с пограничными полями(считать только шары граничущие с this), тоесть сужал бы круг перебора всех шаров.
|
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
читаем прикреплённую тему про астероиды..
__________________
Отряд Котовскага |
|
|||||
Регистрация: Apr 2010
Сообщений: 57
|
Ну если шары 200 штук сравнивать в цикле т.е брать радиус + растояние шаров то это никогда фпс не снизит
|
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Broad phase, sweep n prune есть как тяжелая артиллерия. Идея в том, что есть фаза, где ищутся столкновения боксов обьектов. Обьекты сортируются по горизонтали и вертикали и это используется в рассчётах столкновений. Как-то так.
Но 200 вродь не так много. |
|
|||||
Регистрация: Apr 2010
Сообщений: 57
|
Ну конечно 200 это вообще ничто даже если по битмапу проверку делать
|
|
|||||
__________________
Дети не должны знать о своих родителях Последний раз редактировалось Tails; 28.06.2010 в 19:17. |
Часовой пояс GMT +4, время: 16:57. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|