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