avatar

Создание физических объектов

опубликовал в Программирование / Unity3D
Умные программисты скажут сделать скрипту все за него, а усидчивые каждый раз будут сами все делать… Мне кажется, что немного полениться никогда не помешает, давайте создадим спавнер объекта с неким интервалом, да еще и добавляющий сам нужные скрипты. Вау, будет круто и просто.
Для начала нам надо создать пустой объект(Ctrl+Shift+N) и поместить в некие координаты. После чего создать новый C# скрипт с любым названием, который повесим на созданный пустой объект.
Теперь давайте создадим префаб куба. Create — Cube — перетащить в Project вкладку. Ну а теперь сам скрипт.

Объявим переменные:
public GameObject Woodbox; // объект
	bool newinstantiane = true; // можем ли мы снова создать объект
	float randomvalue; // переменная для случайного времени

Теперь создайте функцию Update, в которой мы создадим новое условие: «если мы можем создать объект»
if (newinstantiane) { 

}

Для начала мы должны установить последующее время создания объекта, после создать текущий объект, сделав его переменной, потом сделать задержку в время равное времени создании нового объекта, добавить физику, уничтожить объект через удвоенное время создания.
randomvalue = Random.Range(1,5);
			GameObject newbox = (GameObject)Instantiate(Woodbox, transform.position, Quaternion.identity);
newbox.AddComponent<Rigidbody>();
			StartCoroutine(NewWoodBoxTime(randomvalue));
			Destroy(newbox.gameObject,6f);

Теперь рассмотрим корутину с задержкой:
IEnumerator NewWoodBoxTime (float wait) {
		newinstantiane = false;
		yield return new WaitForSeconds (wait);
		newinstantiane = true;
	}

Ну вот и все. Спасибо за внимание. Если понравилось и вы чему-то научились, то

0 комментариев

Чтобы оставить комментарий необходимо .