Skybox — это метод создания фонов, позволяющий визуально сделать уровень видеоигры больше, чем он есть на самом деле. [1] При использовании skybox уровень заключается в кубоид . Небо , далекие горы, далекие здания и другие недостижимые объекты проецируются на грани куба (с использованием техники, называемой cube mapping ), тем самым создавая иллюзию отдаленного трехмерного окружения. Skydome использует ту же концепцию, но вместо куба использует либо сферу , либо полусферу .
Обработка 3D-графики требует больших вычислительных затрат, особенно в играх в реальном времени, и накладывает множество ограничений. Уровни должны обрабатываться на огромных скоростях, что затрудняет визуализацию огромных небесных ландшафтов в реальном времени. Кроме того, графика в реальном времени обычно имеет буферы глубины с ограниченной битовой глубиной, что накладывает ограничение на количество деталей, которые могут быть визуализированы на расстоянии.
Чтобы избежать этих проблем, в играх часто используются скайбоксы. Традиционно это простые кубы с шестью различными текстурами, размещенными на гранях. При тщательном выравнивании зритель, находящийся точно в середине скайбокса, будет воспринимать иллюзию реального трехмерного мира вокруг себя, состоящего из этих шести граней.
Когда зритель перемещается по 3D-сцене, скайбокс обычно остается неподвижным по отношению к зрителю. Этот метод создает иллюзию того, что объекты в скайбоксе находятся бесконечно далеко, поскольку они не демонстрируют никакого параллаксного движения, в то время как 3D-объекты, расположенные ближе к зрителю, кажутся движущимися. Часто это хорошее приближение к реальности, когда удаленные объекты, такие как облака, звезды и даже горы, кажутся неподвижными, когда точка обзора смещается на относительно небольшие расстояния. Однако дизайнеры должны быть осторожны с тем, какие объекты они включают в фиксированный скайбокс. Если объект известного размера (например, автомобиль) включен в текстуру и достаточно велик, чтобы зритель воспринимал его как близкий, отсутствие параллаксного движения может восприниматься как нереалистичное или сбивающее с толку.
Источником скайбокса может быть любая форма текстуры , включая фотографии, нарисованные от руки изображения или предварительно визуализированную 3D-геометрию. Обычно эти текстуры создаются и выравниваются в 6 направлениях с углами обзора 90 градусов (что покрывает 6 граней куба).
Простые текстурные скайбоксы имели серьезные недостатки. Их нельзя было анимировать, и все объекты казались бы одинаково удаленными на бесконечности. Они выглядели простыми, и из-за определенных ограничений дизайнерам было трудно проявлять креативность с этой функцией. Но начиная с конца 1990-х годов некоторые игровые дизайнеры создавали небольшие объемы трехмерной геометрии, которые появлялись в скайбоксе, чтобы создать лучшую иллюзию глубины, в дополнение к традиционному скайбоксу для очень далеких объектов. Этот сконструированный скайбокс размещался в недоступном месте, как правило, за пределами играбельной части уровня, чтобы игроки не могли коснуться скайбокса.
В более старых версиях этой технологии, таких как те, что представлены в игре Unreal , это было ограничено движениями в небе, такими как движения облаков. Элементы могли меняться от уровня к уровню, такие как положения звездных объектов или цвет неба, создавая иллюзию постепенного изменения от дня к ночи. Skybox в этой игре все еще казался бы бесконечно далеким, так как skybox, хотя и содержал трехмерную геометрию, не перемещал точку обзора вместе с движением игрока по уровню.
Более новые движки, такие как движок Source , продолжают эту идею, позволяя скайбоксу двигаться вместе с игроком, хотя и с разной скоростью . Поскольку глубина воспринимается по сравнению с движением объектов, замедление движения скайбокса по сравнению с уровнем приводит к тому, что скайбокс кажется далеким, но не бесконечно. Также возможно, но не обязательно, включать 3D-геометрию, которая будет окружать доступную игровую среду, например, недоступные здания или горы. Они проектируются и моделируются в меньшем масштабе, обычно 1/16, а затем визуализируются движком так, чтобы казаться намного больше. Это приводит к меньшим требованиям к ЦП, чем если бы они визуализировались в полном размере. Эффект называется «3D-скайбокс».
В игре Half-Life 2 этот эффект широко использовался для показа Цитадели , огромного сооружения в центре Сити 17. В заключительных главах игры игрок путешествует по городу к Цитадели, эффект скайбокса заставляет его постепенно расти все больше и больше вместе с движением игрока, полностью становясь частью уровня. Когда игрок достигает основания Цитадели, она разбивается на две части. Небольшая нижняя часть является частью основной карты, в то время как верхняя часть находится в 3D-скайбоксе. Две части бесшовно смешиваются вместе, чтобы выглядеть как единая структура.