Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/165: Рейтинг темы: голосов - 165, средняя оценка - 4.61
2 / 2 / 0
Регистрация: 14.11.2019
Сообщений: 46

Спавн объектов

14.11.2019, 23:02. Показов 34631. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, помогите, плиз, разобраться новичку)

Задача:
Заспавнить на определённой площади (в прямоугольнике) 2d ёмкости, в которых перед началом игры спавнятся 2d предметы. Нажимаешь на ёмкость - из неё вылетает предмет, лежащий внутри.

Вопросы:
1. Как заспавнить ёмкости без наложения друг на друга, чтобы они равномерно заполнили площадь и не тупо по сетке, а со смещением друг относительно друга? Перед каждой игрой коробки должны спавнится в рандомном месте в пределах площади. Предметы также каждую игру спавнятся рандомно в разных ёмкостях.
2. Как сделать так, чтобы предмет внутри ёмкости понимал, что нажали именно на ту коробку, в которой он лежит?


Спасибо)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2019, 23:02
Ответы с готовыми решениями:

Спавн объектов 2д
На 2д сцене в рандомной позиции спавнятся объекты (сферы). Они должны лететь к текущей позиции персонажа, но летят лишь к той позиции, в...

Спавн объектов
Подскажите новичку, плиз. Есть поле определённых размеров, на котором в рандомных точках спавнятся по очереди префабы разных размеров...

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

5
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
15.11.2019, 00:43
Лучший ответ Сообщение было отмечено Blascovich как решение

Решение

Цитата Сообщение от Blascovich Посмотреть сообщение
1. Как заспавнить ёмкости без наложения друг на друга, чтобы они равномерно заполнили площадь и не тупо по сетке, а со смещением друг относительно друга? Перед каждой игрой коробки должны спавнится в рандомном месте в пределах площади. Предметы также каждую игру спавнятся рандомно в разных ёмкостях.
наверное будет удобнее узнать размер коробки и спавнить дочерним объектом нужное количество ёмкостей в рандомном положении и рандомным поворотом в пределах коробки
Цитата Сообщение от Blascovich Посмотреть сообщение
2. Как сделать так, чтобы предмет внутри ёмкости понимал, что нажали именно на ту коробку, в которой он лежит?
и таким образом при нажатии можно проверять какой у предмета родительский объект(тоесть какая коробка)
1
2 / 2 / 0
Регистрация: 14.11.2019
Сообщений: 46
15.11.2019, 01:04  [ТС]
Спасибо за ответ, но я не совсем понял что вы имели ввиду. Можете поподробнее описать? Коробкой вы называете ёмкости? Есть определённая площадь, есть коробки (ёмкости), есть предметы в коробках (ёмкостях). Как избежать пересечения коробок при спавне на этой площади? Зачем знать размер коробки? Правильно ли я понимаю, при спавне предметов в коробках сделать их дочерними к коробкам? Можете как-то примерно навести как это сделать кодом?
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
15.11.2019, 01:41
Лучший ответ Сообщение было отмечено Blascovich как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
float posX;
float posY;
float rot;
public GameObject korobka; // коробка
public GameObject prefab; // объект который должен быть в коробке
 
posX = Random.Range(/*размер коробки по Х*/,/*размер коробки по Х*/);
posY = Random.Range(/*размер коробки по Y*/,/*размер коробки по Y*/);
rot = Random.Range(/*начальный поворот по Z*/,/*начальный поворот по Z*/);
 
for(i=0; i < /*количество объектов*/; i++)
{
    Instantiate(prefab, korobka.transform.position, korobka.transform.rotation);
    prefab.transform.parent = korobka.transform;
    prefab.transform.position.x = posX;
    prefab.transform.position.y = posY;
    prefab.transform.rotation.z = rot;
}
 
// могут быть опечатки код писал с "коленки"
1
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
15.11.2019, 01:43
Лучший ответ Сообщение было отмечено Blascovich как решение

Решение

1. Самый примитивный алгоритм, кидать бокс каст перед спавном (на коробках должны быть бокс коллайдеры), если каст не попал никуда - спавним, попал - ищем другую позицию.
https://docs.unity3d.com/Scrip... xCast.html
или
https://docs.unity3d.com/Scrip... apBox.html
2. Делать дочерними неплохой вариант.
https://docs.unity3d.com/Scrip... arent.html
1
2 / 2 / 0
Регистрация: 14.11.2019
Сообщений: 46
15.11.2019, 12:10  [ТС]
Всем большое спасибо, постараюсь разобраться)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.11.2019, 12:10
Помогаю со студенческими работами здесь

Рандомный спавн 3D объектов
Всем привет, помогите мне, напишите пожалуйста скрипт который спавнил объекты рандомная по координатом которые я задаю, а именно по X,...

Спавн объектов на карте
имеется 2d карта уровня, на ней игроки и прочие объекты. Новые игроки и объекты спавнятся по случайным координатам. Как при спавне...

Спавн объектов и перемещение
Доброго времени суток. Есть такой код using System.Collections; using System.Collections.Generic; using UnityEngine; public...

Спавн и перемещение объектов в 3D
Народ, прошу помощи. Есть код, который должен рандомно спавнить объект в определённых заданных координатах и отправлять его в движение по...

Спавн объектов в юнити из массивов
Доброе Время суток . Есть такой вопрос ,как можно реализовать спавн объектов в юнити, есть 10 объектов и игроку нужно выбрать 5 из 10...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru