они не пересекались?
Я нашёл OverlapBox, но не смог примени с клонами
если разные то слои
Одинаковые
Кто-нибудь может что-то посоветовать?
Объекты размещаются по рандомным позициям, но только вдоль одной оси, вторая не меняется, но они часто могут пересекаться
Ничего не понятно. Тебе нужно, чтобы созданные ГО не могли пересекаться или что?
Да, мне нужно то что ты описал
Теперь опиши что ты подразумеваешь под "не пересекаются"
Чтобы спрайты не налезали друг на друга
Добавь коллайдеры на объекты
Это пробовал
Причем тут Instantiate? На префаб добавь коллайдер
У него и так коллайдер есть
У меня появляется определённое количество спрайтов на рандомных позициях по оси x, они часто при появлении пересекают другие спрайты
Создай список точек(Vector3). Первую создаёшь где угодно(хоть рандомно), делаешь рандомный шаг для этой точки + ширина спрайта. После создаёшь спрайт и ставишь их в заранее определенные точки
После создания объекта записываешь в список позицию нового объекта. Перед созданием объекта вычисляешь новую позицию так - если новая рандомная позиция ближе к любой позиции из списка чем размеры этого объекта тогда вычисляешь еще раз. И так до тех пор пока не найдешь новую позицию которая не пересекается с предыдущими
Спасибо за такой развернутый ответ, я думал про это, теперь попробую, но когда гуглил, там сразу вышло OverlapBox, я пытался её применить и не смог, можно ли как-то с этой функцией сделать?
открой доку юнити и посмотри параметры вызова у OverlapBox если вернет тебе какой-то коллайдер значит там есть кто-то
Эту функцию получилось вызвать только для объекта, к которому привязан скрипт с ней, а для префабов не смог написать
префаб заспавнить надо сначала
По сути можно. Но это значит что ты будешь перемещать объект после создания если пересекается с кем то. Мне кажется корректнее перед созданием выбрать место и создавать его там где надо сразу
Знаю, но как вызвать Physics2d.OverlapBox(.....) для какого то объекта
Мне просто уже интересно стало, получиться этим способом сделать
позицию передать в какой проверять
ты читал параметры который передаются в метод?
Обсуждают сегодня