@SkyCrusher

Как в Unity3d сделать так, чтобы клон одного ассета не спавнился в корне другого?

Делаем игру на Unity3d. Язык - С#. Ситуация собственно такая. Есть ассет астероида. Он клонируется сверху в случайной точке в области за сценой и падает вниз. Через определенный промежуток времени появляется новый клон того же самого астероида и тоже падает вниз, и все работает. Но если добавить еще один другой ассет, клоны которого тоже появляются сверху за сценой в случайной точке через промежуток времени, то есть большой шанс, что один клон заспавнится в другом. Что делать и как это можно предотвратить? Заранее спасибо.
  • Вопрос задан
  • 302 просмотра
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
На падающих объектах скорее всего есть коллайдеры, да? Используйте Physics.CheckSphere, если в случайно выбранной точке уже есть объект, то выкидываете её и выбираете новую. Делайте так в цикле, пока не найдёте свободное пространство, либо количество итераций не превысит какой-то порог, например сто циклов. В большинстве случаев этого будет достаточно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы