Unity - проверять объекты внутри коллайдеров - PullRequest
0 голосов
/ 24 июня 2018

Я сейчас работаю над дизайном игры.Я новичок в Unity и не знаю, как реализовать следующие функции в моем проекте.

У меня есть несколько шаров на моей квадратной игровой доске, и игроки могут рисовать линии внутри игровой доски.Эти линии необходимо прикрепить к границам игрового поля или другим линиям, которые могут разделить игровое поле на несколько маленьких кусочков (аналогично игре Jezzball).Мой вопрос заключается в том, как я могу определить количество шариков внутри каждой маленькой области.

Как обнаружить шарики в каждой области? Спасибо за помощь!

1 Ответ

0 голосов
/ 25 июня 2018

Вместо того, чтобы спрашивать «как определить количество шариков внутри каждой маленькой области», вы должны спрашивать «для каждого шара, в какой области находится этот шарик».

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

Как говорится, вот как я подхожу к математической задаче:

Смоделируйте каждую линию как линейное уравнение: y = mx + c. Область будет определяться тем, какие уравнения влияют на нее и является ли y> или <значением y строки. В основном это означает, что каждая область определяется как ряд математических ограничений. </p>

Чтобы проверить, находится ли точка внутри области, для каждого ограничения этой области введите значение x точки в уравнение и сравните значение y точки с значением y линии при этом значении x. Если точка удовлетворяет каждому ограничению, она называется находящейся внутри области.

Чтобы определить, в какой области находится точка, просто примените этот процесс для каждой области, пока одна из них не вернет значение true. Затем добавьте эту точку в список точек этой области. Затем вы можете просто посчитать количество точек в каждой области.

Если это кажется трудным, это потому, что это так. Я бы предложил отложить это на время.

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