В настоящее время я работаю над 2D-игрой типа «стреляй в них», и я использую дерево квадратов для обнаружения столкновений. . Я написал рабочее дерево квадратов, которое правильно помещает моих актеров в узлы / листья, которым они принадлежат в дереве. Однако, У меня есть несколько проблем.
Во-первых, как мне на самом деле использовать свое квадродерево, чтобы выбрать, против каких других объектов объект должен проверять столкновения? Я не уверен, как это делается.
Отсюда возникает второй вопрос. Скажем, у меня есть объект в узле, который не является соседом другого узла, но этот объект достаточно велик, чтобы охватить несколько узлов, как я могу проверить наличие фактического столкновения, поскольку я предполагаю, что дерево может считать, что это не так достаточно близко, чтобы столкнуться с объектами в "далеком" узле? Следует ли оставлять объекты, которые не полностью помещаются в узел, в родительском узле?
В моей игре большинство объектов имеют разные размеры и перемещаются.
Я прочитал много блогов / статьи о квадродеревьях, но большинство из них просто объясняют, как построить дерево, которое на самом деле не то, что я ищу.
Любая помощь / информация приветствуются.