forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Создание объектов с ран домной позицией (http://forum.boolean.name/showthread.php?t=20713)

FREE MAN 05.06.2018 14:18

Создание объектов с ран домной позицией
 
Всем привет! Вопросик есть, создаю по массиву объекты. Поворот и позиции не соответствен номеру 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);
                }
        }


pax 05.06.2018 15:32

Ответ: Создание объектов с ран домной позицией
 
Не понятно, кто и как запускает функцию SpawnTrafick. Она может у тебя несколько раз запускается?

FREE MAN 05.06.2018 15:49

Ответ: Создание объектов с ран домной позицией
 
Цитата:

Сообщение от pax (Сообщение 315194)
Не понятно, кто и как запускает функцию 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 ());
                }
}


Антихрист 05.06.2018 17:26

Ответ: Создание объектов с ран домной позицией
 
А у моделек машин оси в одну сторону смотрят?
Цитата:

К примеру создался объект в PosSpawn [0].transform.position, а nm = 2;
Уверен, что смотришь в нужное время? Breakpointом?
Для понятности было бы проще
Цитата:

nm = Random.Range (0,PosSpawn.Length);
Поднять выше Instantiate.
Сначало генерим рандомное число -> потом используем его. А так получается ты его на будущий спаун рандомишь.

pax 05.06.2018 18:10

Ответ: Создание объектов с ран домной позицией
 
Ну вот мне тоже кажется, что nm задается на следующий раз.

FREE MAN 05.06.2018 20:07

Ответ: Создание объектов с ран домной позицией
 
Цитата:

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

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

Цитата:

Сообщение от pax (Сообщение 315197)
Ну вот мне тоже кажется, что 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);


FREE MAN 05.06.2018 22:56

Ответ: Создание объектов с ран домной позицией
 
Всем спасибо! Разобрался!


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot