LerpworksAcademy
На этой странице

Мир и уровни › Большой мир

Открытый мир: как он грузится кусками

Нужно знать заранее: LOD, инстансинг и Nanite: как рисуют миллион травинок, Числа в компьютере: целые, float и точность

Здесь ты поймёшь, как огромный мир помещается в игру, которой хватает памяти на маленький кусок. Мир режут на квадратные куски и держат в памяти только те, что вокруг игрока, а дальше видны упрощённые копии. Разберём, как выбрать размер кусков и дальность загрузки, почему быстрый игрок опаснее медленного, как с большим миром работают в редакторе и почему вдали от центра мира всё начинает дрожать.

Зачем это

Большой мир целиком в память не помещается. Каждое дерево, камень и дом — это модели, текстуры, физика, а в открытом мире их очень много. Поэтому мир сразу строят так, чтобы он грузился кусками (урок «Как собирают мир»).

Представь игрушечный город, который больше стола. На столе помещаются только кварталы вокруг фигурки игрока. Куда бы она ни пошла, впереди ты ставишь новые кварталы, а позади убираешь. Подгрузка мира — то же самое: вокруг игрока мир есть, дальше его нет.

Чтобы это работало незаметно, надо решить четыре вещи. Какими кусками резать мир. Как далеко от игрока держать загруженное. Что показывать вдали, где загруженного нет. И как не отстать, если игрок мчится на машине.

Дальше в статье

  1. Сетка ячеек и дальность загрузки
  2. Источники подгрузки
  3. Скорость и запас времени
  4. Что грузится всегда, сетки и HLOD
  5. Как выбрать числа
  6. Мир в редакторе и в команде
  7. Большие координаты
  8. Как это делают другие движки
  9. Как проверять
  10. Где ломается
  11. Связи: та же идея в других областях
  12. Источники и что почитать дальше
  13. Главное
  14. Проверь себя