Проверка столкновения
Припустим у меня есть 3 танка. Один из них 3 раза выстрелил. Какой оптимальный вариант проверить попадет ли каждая пуля в один из 2 танков?(P.S. Танки двигаются)
|
Ответ: Проверка столкновения
Пуля летит мгновенно или её скорость конечна?
Танки существуют в 2D или 3D пространстве? Танки могут вертеться на какие хочешь углы или только кратные 90° (45°, 30°, и т.д.) ? |
Ответ: Проверка столкновения
Можно придумать несколько способов, какой будет оптимальнее сказать трудно.
Перебрать все пули для каждого танка. Перебрать все танки для каждой пули. Делать "карту препятствий" для каждого кадра и проверять пиксель-пулю на цвет (или значение). (Например, красный-танк, черный-стена) Еще что-то. |
Ответ: Проверка столкновения
Я бы добавил в пулю информацию о танке-производителе. Попав в другой танк всегда можно узнать из кого вылетела.
А проверять, в цикле иначе никак.. Если танков овердофига то можно танки разбить деревом Q-Tree или аналогичным. Тогда худший вариант это перебор всей высоты дерева. |
Ответ: Проверка столкновения
Вложений: 1
Вот решил проблему... (Метод полного перебора;для каждой пули перебираются все танки). Может ктото знает вариант лучше...
|
Часовой пояс GMT +4, время: 21:28. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot