Как генерировать объект таким образом, чтобы при появлении он был повёрнут в левую/правую сторону?

В контексте генерации идёт речь о бесконечном раннере вроде Subway Surfers или же Temple Run. Есть три различные части дороги (уже вместе с подбираемыми предметами и препятствиями), однако они создаются друг за другом. Идея состоит в том, чтобы создать повороты, то есть, чтобы игрок понимал, что созданный объект указывает на поворот влево. При мысленной планировке сразу встаёт вопрос о том, как не допустить того, чтобы эти повороты не привели игрока в начало карты. Ведь в случайной генерации возможен и такой вариант.

void Awake()
    {
        GameObject curRoot = RoadRoot;
        roadPos = new Vector3(0, 0.5f, (curRoot.transform.position.z - 100));
    }

    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Spawner")
        {
          GameObject newRoad  = GameObject.Instantiate(RoadSpawn[Random.Range(0, 3)], roadPos, Quaternion.identity);
          roadPos.z = newRoad.transform.position.z - 100;
        }
    }
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
Вставили.
Повернули рандомом.
Если ведёт в начало > повернули в другую сторону.

Ну или типа того, всё ведь просто.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы