Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
1 / 1 / 1
Регистрация: 22.05.2017
Сообщений: 35

Создание рандомных объектов

09.09.2017, 23:24. Показов 5587. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть 4 объекта и их нужно спавнить в рандомном порядке. Написал скрипт почему то не выходит
C#
1
2
3
4
5
6
7
8
9
10
public GameObject five,four,three,two;
void Start () {
        
        StartCoroutine (Spawn());
    }
    IEnumerator Spawn () {      
            yield return new WaitForSeconds (2f);
            while (enabled) {
            Instantiate (Random.Range(five,four,three,two), new Vector2 (8.8f, Random.Range (1.1f, 1.9f)), Quaternion.identity);
                yield return new WaitForSeconds (0.5f);
Что тут не так?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2017, 23:24
Ответы с готовыми решениями:

Создание в рандомных местах
Помогите сделать так чтобы кубик спавнился в рандомных местах но в ограниченных координатах

Создание рандомных фраз
подскажите каким образом можно реализовать выдачу рандомных фраз или звуков по типу: "там я уже был кажется" . ну чтоб...

Рандомное создание объектов
Добрый вечер! Хочу создать рандомное появление объектов 4 штуки вряд, но чтобы появллись с разным интервалом. чтобы в одно время не было...

4
109 / 81 / 37
Регистрация: 13.01.2016
Сообщений: 409
09.09.2017, 23:37
Лучший ответ Сообщение было отмечено PokerV как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public GameObject[] Sphere;
    public GameObject Cub;
    public Vector3 spawnValues;
    public float spawnWait;
    public float spawnMostWait;
    public float spawnLeastWait;
    public float startWait;
    public bool stop;
    public int a;
    int randSphere;
 
    void Start()
    {
        StartCoroutine(waitSpawner());
 
    }
    void Update()
    {
        spawnWait = Random.Range(spawnLeastWait, spawnMostWait);
    }
 
    IEnumerator waitSpawner()
    {
        yield return new WaitForSeconds(startWait);
 
        while (Cub != null)
        {
            randSphere = Random.Range(0, 1);
 
            Vector3 spawnPosition = new Vector3(Random.Range(-spawnValues.x, spawnValues.x), 1, Random.Range(-spawnValues.y, spawnValues.y));
 
            Instantiate(Sphere[randSphere], spawnPosition + transform.TransformPoint(0, 0, 0), gameObject.transform.rotation);
 
            yield return new WaitForSeconds(spawnWait);
        }
    }
1
1 / 1 / 1
Регистрация: 22.05.2017
Сообщений: 35
10.09.2017, 00:05  [ТС]
Цитата Сообщение от DarkPtect Посмотреть сообщение
public GameObject[] Sphere;
* * public GameObject Cub;
* * public Vector3 spawnValues;
* * public float spawnWait;
* * public float spawnMostWait;
* * public float spawnLeastWait;
* * public float startWait;
* * public bool stop;
* * public int a;
* * int randSphere;
void Start()
* * {
* * * * StartCoroutine(waitSpawner());
}
* * void Update()
* * {
* * * * spawnWait = Random.Range(spawnLeastWait, spawnMostWait);
* * }
IEnumerator waitSpawner()
* * {
* * * * yield return new WaitForSeconds(startWait);
while (Cub != null)
* * * * {
* * * * * * randSphere = Random.Range(0, 1);
Vector3 spawnPosition = new Vector3(Random.Range(-spawnValues.x, spawnValues.x), 1, Random.Range(-spawnValues.y, spawnValues.y));
Instantiate(Sphere[randSphere], spawnPosition + transform.TransformPoint(0, 0, 0), gameObject.transform.rotation);
yield return new WaitForSeconds(spawnWait);
Вы меня наверное не поняли)
Мне нужно чтобы именно рандомный объект создавался
тоесть у меня 4 GameObject'a и надо чтобы они рандомно появлялись
0
109 / 81 / 37
Регистрация: 13.01.2016
Сообщений: 409
10.09.2017, 00:16
Ну-с. Так и будет. Задаёте в скрипте размер массива, перетаскиваете в юнити префабы и он спавнит их рандомно. Так же в этом скрипте можно задать задержку перед спавном и между спавнами( можете удалить, если это не нужно) и линию/площадь/объём, в которых надо спавнить. Всё для вашего удобства)
Только в одном ошибся,удалите условие существование объекта, оно там лишнее, это я использовал и не вычистил
0
1 / 1 / 1
Регистрация: 22.05.2017
Сообщений: 35
10.09.2017, 00:28  [ТС]
Цитата Сообщение от DarkPtect Посмотреть сообщение
Ну-с. Так и будет. Задаёте в скрипте размер массива, перетаскиваете в юнити префабы и он спавнит их рандомно. Так же в этом скрипте можно задать задержку перед спавном и между спавнами( можете удалить, если это не нужно) и линию/площадь/объём, в которых надо спавнить. Всё для вашего удобства)
Только в одном ошибся,удалите условие существование объекта, оно там лишнее, это я использовал и не вычистил
спасибо вам
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.09.2017, 00:28
Помогаю со студенческими работами здесь

Динамическое создание объектов
Доброго времени суток, мне нужно создавать каждые 2 секунды какой-то объект, который определит рандом, эта функция вызывается в корутине, ...

Многопоточный сокет и Создание объектов в Unity
Добрый день ! Так я и не нашел реализации . У меня сокет . Чтение данных происходит в другом потоке . После обработки данных пытаюсь...

Создание общих объектов в мультиплеере (Network)
Иногда легче разобраться самому, чем сформулировать проблему... В общем так, делаю мультиплеер пока что через стандартный скрипт юнити...

Unity 5. Как сделать создание и удаление объектов
Пишу скрипты на C# хочу сделать ферму но не знаю как сделать создание объекта пшеница на определённых координатах когда стоишь на...

Как сделать создание объектов в рандомном порядке в небе на одной линии? Чтобы они падали вниз, и исчезали
Напишите код, с пояснением что и какая команда делает, мне нужно чтобы кубы спавнились сверху в рандомном порядке и падали на землю, и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru