Среда, 18 Декабря 2024, 15:51

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите... Как сделать Random'ый спавн объектов?
IL-98-YAДата: Суббота, 07 Апреля 2012, 00:09 | Сообщение # 1
UnityUser
Сейчас нет на сайте
Как сделать Random'ый спавн объектов? есть 2 игровых объекта... надо чтобы их они спаунились рандомно


СамоделкинДата: Суббота, 07 Апреля 2012, 06:48 | Сообщение # 2
участник
Сейчас нет на сайте
9 месяцев в Unity и наконец родил happy

Можно так:
Code
using UnityEngine;
using System.Collections;
public class SpawnerScript : MonoBehaviour
{
     public Transform tvojObject;
      void Update()
     {
   if (Input.GetMouseButtonDown(0))
            {
             int addXPos = Random.Range(-5, 5);
             int addZPos = Random.Range(-5, 5);
             Vector3 spawnPos = transform.position + new Vector3(addXPos, 0, addZPos);
             Instantiate(tvoiObject, spawnPos, Quaternion.identity);
            }
  }
}

Рандомно, но в пределах квадрата 5x5 и по сетке. Скрипт на пустой объект сцены вешать. И в редакторе к скрипту привязать префаб твоего объекта(-ов). Если нужно чтобы вообще рандомно, то наверно надо изменить тип переменной (нецелочисленную).
Как-то так.Это если под "рандомно" ты понимаешь место. Если ты имел ввиду случайный выбор того, какой именно из объектов респаунится, то наверно можно ввести переменную, которая будет получать рандомное значение в пределах равных кол-ву типов объектов. Пусть разных объектов 10, то Random.Range(1,10);
И каждому значению переменной будет соответствовать спаун конкретного объекта. Я сам не особо шарю, но как-то так бы сделал.
IL-98-YAДата: Суббота, 07 Апреля 2012, 15:10 | Сообщение # 3
UnityUser
Сейчас нет на сайте
т.е. можно сделать 2 переменные
public GameObject 1;
public GameObject 2;
void update(){
Instantiate(Random.Range(1,2);, spawnPos, Quaternion.identity);
}
и спаунить их вот так? или я что-то не понял?



ЛевшаДата: Суббота, 07 Апреля 2012, 17:19 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Заносишь обьекты в массив, настраиваешь радиус появления, вызываешь когда нужно метод (Spawn ();) остальное происходит автоматом.
Только аккуратнее а то обьекты *под землей* будут спавниться.
Code

var spawnObjects : GameObject[];
var instantRadius : int;

function Spawn () {
       Instantiate(spawnObj[Random.Range(0, spawnObjects.Length)], Random.insideUnitSphere * instantRadius, Quaternion.identity);
}


X.cor.R (Prologue)

Сообщение отредактировал Левша - Суббота, 07 Апреля 2012, 18:13
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг