Дерево квадрантов
Обнаружение коллизий может быстро стать очень затратным процессов в игре с большим количеством объектов, которые нужно проверять на пересечение. Когда в игре сто объектов, которые могут касаться друг друга, это десять тысяч различных вызовов проверки столкновений между ними. Метод, который Phaser использует для уменьшения числа этих проверок, называется дерево квадрантов.
Дерево квадрантов хранит ссылки на объекты в разных (все более меньших) квадрантах мирового мира. Если в любом конкретном квадранте находится достаточно объектов, он разобьет этот прямоугольник на четыре более меньшие четверти и продолжит хранить местоположения в этих более меньших прямоугольниках. С помощью этих деревьев квадрантов становится легко и быстро исключать группы спрайтов, которые не имеют возможности столкнуться с другими, основываясь на том, как далеко расположена одна четверть квадранта от другой. Даже с помощью обычного деления мира на четверти, возможно разделить спрайты на три четверти, в которых спрайт не существует, потенциально удаляя из процесса множество проверок столкновений.

Комментариев нет:
Отправить комментарий