Отверстия в 2D круговом коллайдере - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь начать разработку новой игры, в которой есть вращающийся круг с одним или несколькими отверстиями, как на прилагаемом изображении, проблема в том, что мне нужно использовать столкновения по кругу для большого круга. Кроме того, мне нужно использовать маленькие столкновения для меньшие отверстия для предотвращения и частицы (меньшие круги) вводят круг и подсчитывают отсутствие столкновений
введите описание изображения здесь

1 Ответ

0 голосов
/ 22 января 2020

Сам коллайдер кругов не имеет этой функциональности, поскольку он может проверять столкновения только между идеальными кругами. (За кулисами все коллайдеры кругов просто проверяют расстояние между точками, и эти расстояния не работают с отверстиями). Лучшее решение, которое я могу придумать, - это использовать многоугольный коллайдер и сделать грубый круг, из которого можно затем удалить части (будет требуется некоторая продвинутая геометрия, но не невозможно). Я пробовал подобные вещи в 3D и с коллайдером me sh, удаляя его части, используя метод, известный как CSG ( Wikipedia ), и что-то похожее должно быть возможно в 2D, однако это действительно очень трудно и даже опытные программисты изо всех сил пытаются придумать систему, которая может обрабатывать каждый сценарий.

Вся надежда не потеряна, хотя, в зависимости от того, для чего вам нужно столкновение, могут быть и другие способы , Если вам просто нужно проверить, пересекаются ли два объекта и не хотите, чтобы рибибоди и прочее взаимодействовали с коллайдером, просто проверьте расстояние между большим кругом и объектом (также выясните, достаточно ли он близок), а затем проверьте расстояние между объект и дыры (также посмотрите, находится ли он внутри дыры, таким образом, не сталкиваясь) - лучший способ решить проблему.

Я уверен, что кто-то, кто сделал больше в этой области, чем я, сможет чтобы помочь вам, но без дополнительной информации о том, что вам нужно, невозможно сказать. Все зависит от обстоятельств!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...