Как был создан свободный мир в игре "no man sky"?

Попробовал я поработать в OpenGL, и решил создать свободный мир размером с одну звездную систему.
Этого оказалось слишком сложно сделать. И запихнуть всю звёздную систему в одну сцену не выдает.

По сему у меня появился вопрос как же реализован мир no man sky и считывая что там множество звёздных систем ?

Я слышал про механизм перехода сцен , но как именно в такой большой игре это реализовано это мне непонятно.

4 симпатии

В общем я нашёл ответ после просмотра многих книг по DirectX обзорным методом.

В общем ответ подсказали старые игры из двухтысячных. Когда ты идешь по территории и доходишь до её границы “выпрыгивает” загрузочный экран и происходит загрузка уровня.

И тут до меня дошло !!!

Что по сути сцена “коробка” не меняется, меняются объекты на сцене.

Тут распишу алгоритм от рисовки “взлета с планеты и полет к
следующей планете”,
также представим что мы уже отрисовали ландшафт и задали размер сцены
“коробки”, а также установили картинку стенок сцены “полуденный_зной.jpg”:

  • взлетаем вверх, поднимаемся к границе сцены"коробки".
    Назовём это уровень <<атмосфера>>.

  • после подлета к верхней границе переносим камеру в центр коробки
    перерисовываем ландшафт, превращаем ландшафт в полусферу.Также
    меняем картинку стенок сцены"коробки" на картинку “граничная_стратосфера.jpg”.
    Назовём это уровень <<стратосфера>>.

  • после подлёта к верхней границе переносим камеру в центр коробки
    перерисовываем полусферу, превращаем полусферу в сферу.
    Также меняем картинку стенок сцены"коробки" на картинку “бездонный_космос.jpg”.
    Назовём это уровень <<космос>>.

  • Тут уже мы в космосе :3 находим иную ближайшую сферу и приближаемся к ней.
    После приближения на достаточное расстояние, происходит переход
    с уровня <<космос>> на уровень <<стратосфера>>.

  • Стремимся в центр полусферы и переходим на уровень атмосфера,
    всё мы на другой планете (для удобства для второй планеты стоит
    изменить шейдеры, либо просто изменить их цвета). теперь мы всё космонавты :3

Я долго не мог понять, пока не осознал что начиная с 201n года (в x3 terran conflict переходы ещё были) многопоточность стала столь хороша, а также компьютерные мощности “пользователей” возросли на столько что переходы делаются на “раз два”, ака бесшовный мир.

4 симпатии