Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 05.06.2018, 14:18   #1
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений
(для 565 пользователей)
Смущение Создание объектов с ран домной позицией

Всем привет! Вопросик есть, создаю по массиву объекты. Поворот и позиции не соответствен номеру nm и в итоге как попало поворот и позиция! Нужно, что бы считало одинаково и позицию и поворот. Как это дело поправить? За ранее Спасибо!

	IEnumerator SpawnTrafick(){
		yield return new WaitForSeconds (TimerCreate);
		if (All_CurrentCarsAI < MaxCarsAI) {
			Transform car_trafik = (Transform)Instantiate (CarsAI [Random.Range (0, CarsAI.Length)], PosSpawn [nm].transform.position, PosSpawn [nm].transform.rotation);
			start_c = true;
			nm=Random.Range (0, PosSpawn.Length);
		}
	}
(Offline)
 
Ответить с цитированием
Старый 05.06.2018, 15:32   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Создание объектов с ран домной позицией

Не понятно, кто и как запускает функцию SpawnTrafick. Она может у тебя несколько раз запускается?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.06.2018, 15:49   #3
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений
(для 565 пользователей)
Ответ: Создание объектов с ран домной позицией

Сообщение от pax Посмотреть сообщение
Не понятно, кто и как запускает функцию SpawnTrafick. Она может у тебя несколько раз запускается?
Суть в том, что я и пробовал и через обычный таймер создавать, но оно ничего не меняет! Не совпадение идет при создании и номера nm. К примеру создался объект в PosSpawn [0].transform.position, а nm = 2; А по логике должно быть, если nm=2, то PosSpawn [2].transform.position,PosSpawn [2].transform.rotation;

	if (All_CurrentCarsAI < MaxCarsAI) {
			Ttt += Time.deltaTime;
			if (Ttt>=3){
				Transform car_trafik = (Transform)Instantiate (CarsAI [Random.Range (0, CarsAI.Length)], PosSpawn [nm].transform.position, PosSpawn [nm].transform.rotation);
				Ttt = 0;
				nm = Random.Range (0,PosSpawn.Length);
			}
		}

	void LateUpdate () {

		if (start_c) {
			start_c = false;
			StartCoroutine (SpawnTrafick ());
		}
}
(Offline)
 
Ответить с цитированием
Старый 05.06.2018, 17:26   #4
Антихрист
Разработчик
 
Регистрация: 20.01.2007
Сообщений: 485
Написано 182 полезных сообщений
(для 412 пользователей)
Ответ: Создание объектов с ран домной позицией

А у моделек машин оси в одну сторону смотрят?
К примеру создался объект в PosSpawn [0].transform.position, а nm = 2;
Уверен, что смотришь в нужное время? Breakpointом?
Для понятности было бы проще
nm = Random.Range (0,PosSpawn.Length);
Поднять выше Instantiate.
Сначало генерим рандомное число -> потом используем его. А так получается ты его на будущий спаун рандомишь.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
FREE MAN (05.06.2018)
Старый 05.06.2018, 18:10   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Создание объектов с ран домной позицией

Ну вот мне тоже кажется, что nm задается на следующий раз.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
FREE MAN (05.06.2018)
Старый 05.06.2018, 20:07   #6
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений
(для 565 пользователей)
Ответ: Создание объектов с ран домной позицией

Сообщение от Антихрист Посмотреть сообщение
А у моделек машин оси в одну сторону смотрят?

Уверен, что смотришь в нужное время? Breakpointом?
Для понятности было бы проще
Поднять выше Instantiate.
Сначало генерим рандомное число -> потом используем его. А так получается ты его на будущий спаун рандомишь.
Сообщение от pax Посмотреть сообщение
Ну вот мне тоже кажется, что nm задается на следующий раз.
Поднял выше, та же ситуация! Попробую отдельно сделать таймер и менять число, что бы не совпадало со спавном машины.

nm = Random.Range (0,PosSpawn.Length);
Transform car_trafik = (Transform)Instantiate (CarsAI [Random.Range (0, CarsAI.Length)], PosSpawn [nm].transform.position, PosSpawn [nm].transform.rotation);
(Offline)
 
Ответить с цитированием
Старый 05.06.2018, 22:56   #7
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений
(для 565 пользователей)
Ответ: Создание объектов с ран домной позицией

Всем спасибо! Разобрался!

Последний раз редактировалось FREE MAN, 06.06.2018 в 10:44.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:41.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com