Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Скайбо́кс (англ. sky — «небо» и box — «коробка») — объект в трёхмерной графике, играющий роль неба и горизонта. Представляет собой несложную трёхмерную модель (как правило, куб), со внутренней стороны которой натянута текстура неба (так называемая «кубическая текстура»).

Технология

Пример двухмерного скайбокса (развёртка)

Обработка трёхмерной графики требует много вычислительной работы, поэтому «честно» просчитывать в играх объекты, находящиеся на горизонте, было бы расточительством. К тому же, трёхмерное аппаратное обеспечение имеет Z-буферы, которые из-за ограниченной разрядности отбрасывают всё, что находится далеко от камеры[1]. Поэтому удалённые объекты изображаются крайне примитивно: в виде куба, шесть граней которого — текстуры неба и горизонта. Если отобразить этот куб так, чтобы камера находилась точно в центре, будет казаться, что через камеру действительно видны небо и горы.

Скайбокс всегда следует за камерой, так что изображённые на скайбоксе объекты выглядят удалёнными в бесконечность. Движок отображает скайбокс каждый кадр в первую очередь, отключив Z-буферизацию[2].

Высокие, заметные из любой точки уровня объекты (наподобие башен) обычно на скайбоксе не рисуют — для них нужна не иллюзия «бесконечной удалённости», а наоборот, определённое положение в пространстве. Но существуют исключения из правил, когда на скайбоксах изображают огромные сооружения, призванные показать, что же находится за пределами игрового уровня. Подобные скайбоксы можно увидеть в Quake II, Quake 4, The Chronicles of Riddick: Escape from Butcher Bay и др.

Источником текстур может быть что угодно: фотография, рисунок или трёхмерный рендер.

Трёхмерные скайбоксы

Чтобы как-то «оживить» небо, с конца 1990-х годов разработчики начали добавлять в скайбокс немного геометрии — например, слои облаков и звёзд в Unreal[3] и realMyst. В игре Grand Prix 3 цилиндрический горизонт и сферическое небо отделены друг от друга — это связано с требованием динамически менять погоду на автодроме.

В более новых играх скайбоксы составляют из нескольких слоёв, которые двигаются за игроком с неравной скоростью. Так смоделирована башня Цитадели в Half-Life 2. В уровнях, расположенных внутри Цитадели, верхние этажи башни, к которым игрок доступа не имеет, — тоже часть трёхмерного скайбокса[4]. В любом случае, геометрия скайбоксов остаётся предельно простой: например, сверхпортал из Half-Life 2: Episode Two представляет собой всего лишь один многоугольник, а видимость портала достигнута шейдерами[4]. В Half-Life 2 трёхмерные скайбоксы делаются в масштабе 1:16 — объекты в редакторе в 16 раз меньше, чем в игре[5].

Интересно, что в игре Portal от той же Valve игрок вообще не видит неба, и авторы даже не пытались исправить артефакты трёхмерного скайбокса при взгляде через портал. В более новых версиях движка это исправлено[5].

Нетрадиционные скайбоксы

«Давящее» плоскостное небо в Nexuiz

В 2,5-мерных движках наподобие Doom engine скайбокс имеет вид цилиндра. В отличие от современных игр, экран не заливался скайбоксом каждый кадр, а фрагменты неба рисовались с помощью особой процедуры, когда рендерер попадал на «залитые небом» плоскости[6].

В первых трёхмерных играх (Quake) небо представляло собой «бесконечно удалённую» плоскость с движущейся по ней текстурой облаков. Такое небо выглядит «давящим», полным слоистых облаков — даже если в действительности оно синее, с лёгкими белыми облачками. В Quake 3 такой метод рисования неба также доступен наряду с кубом; кроме того, можно использовать оба метода, рисуя плоскость с «давящими» облаками поверх кубического скайбокса.

В некоторых играх (например, Grand Prix 3) скайбокс имеет форму сферы или купола[7]. Возможно, это связано с крайне низкой детализацией текстур и режимом программного рендеринга.

См. также

Примечания

  1. OpenGL Red Book — Viewing Архивная копия от 29 сентября 2010 на Wayback Machine (англ.)
  2. Gamedev.ru: Простой скайбокс. Дата обращения: 4 октября 2010. Архивировано 15 июля 2010 года.
  3. Unreal Wiki: Skybox Архивная копия от 29 марта 2010 на Wayback Machine (англ.)
  4. 1 2 Комментарии разработчиков к игре.
  5. 1 2 Valve Wiki: 3D Skyboxes Архивная копия от 2 октября 2010 на Wayback Machine (англ.)
  6. Исходный код Doom был выпущен под свободной лицензией и доступен для ознакомления любому желающему.
  7. Заметно, если в настройках драйверов излишне сместить центр текселя.
Эта страница в последний раз была отредактирована 7 октября 2023 в 10:20.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).