Что такое окружение?

Last Updated on by Nicholas Frost

В первые годы существования видеоигр, где все, что у нас было, было неразличимой двухмерной пиксельной или спрайтовой графикой, многое оставалось на волю воображения. Тогда компьютерная графика состояла из едва узнаваемых форм, которые выдавали себя за их аналогов в реальном мире (или, во многих случаях, в кино). Они делали все, что могли, а затем концентрировались на увлекательном, повторяющемся геймплее, который отлично передает время каждую субботу после обеда. Это продолжалось очень долго, и Atari 2600 была главной домашней консолью, которая делала эту работу.

После краха видеоигр в 80-х годах Nintendo и Sega восстали из пепла и сделали новые консоли: Nintendo Entertainment System и Sega Genesis соответственно. На этих приставках была намного лучше видна графика, на которой можно было узнать, что представляет собой каждый отдельный элемент. Конечно, для воображения еще остались некоторые элементы, но вам определенно не придется так усердно работать, как раньше. Во время этой 8-битной и последующих 16-битных эр спрайтовая графика была доведена до абсолютного предела, который могла дать технология того времени. Но это все равно было царством двухмерной или двухмерной графики. Большинство игр были с боковой прокруткой или сверху вниз, и в любой “3D” игре все равно использовалась бы спрайтовая графика. Это был отличный способ создания игр, и многие классические игры до сих пор считаются одними из лучших в своих жанрах. Однако, когда появилась Sony Playstation, игровая индустрия никогда не была прежней. Она входила в трехмерное царство, или 3d.

С появлением 3d графики появился новый рубеж в видеоиграх. Внезапно двухмерные спрайты ушли в прошлое, и разработчики игр быстро отодвинули это дело на задний план, чтобы создать все лучшее и лучшее в 3d графике, что сделает погружение в игру максимально возможным с технологической точки зрения. Если в 8-ми и 16-ти битные эпохи очень мало оставалось до воображения, то с рассветом 3d графики почти ничего не осталось. Разработчики игр могли создавать практически все, что они могли моделировать и использовать в игре. И с течением времени качество 3d графики становилось еще лучше.

Сегодня качество 3d графики в видеоиграх, особенно в тройных А видео играх, настолько высокое, что оно размывает границы реальности. Это связано с тем, что с годами было разработано множество функций, которые значительно повысили реализм, который может привнести 3d графика. От аппаратного ускорения до настройки программного обеспечения, 3d игры сегодняшнего дня – это светлые годы, выходящие за рамки того, о чем могли только мечтать создатели игр в 60-е и 70-е годы.

В 3d графике есть много элементов, которые способствуют созданию одного фантастического образа. Освещение, конечно же, одно из самых важных. Умение учесть влияние света в зоне и затенение, которое он вызовет, может стать разницей между высококачественным изображением. И вот тут появляется окружающая окклюзия.

Что такое окклюзия окружающей среды?

На первый взгляд, термин выглядит и звучит очень технически. И если вы определите его, узнав, что означают слова “ambient” и “occlusion” по отдельности, вы получите смутное представление о том, что это такое. В онлайн-словарях “эмбиент” определяется как “относящийся к непосредственному окружению чего-то”. Звучит достаточно просто. Однако, “окклюзия” означает пару немного разных вещей, которые все имеют три общие вещи: блокировка, мгновенное закрытие и позиционирование.

Комбинируя, вы получите что-то вроде “вещей вокруг этих блокирующих путей”. Все еще звучит запутанно? Не волнуйся, на самом деле это недалеко. Видите ли, окклюзия окружающей среды – это метод затенения и рендеринга, позволяющий выяснить, насколько определенная точка в рендеринговой сцене получает окружающее освещение. Это метод, позволяющий увидеть, насколько “доступна” каждая точка в сцене для окружающего света, чтобы получить эффект, который намного ближе к тому, как работает реальное освещение. Он отличается от отбрасывания теней (к этому мы подойдём позже), но производит эффект затенения. Закрытые или труднодоступные области затемняются, а открытые области осветляются, что повышает реалистичность сцены.

Все еще смущены? Подумайте об этом так. Возьмите туалетную бумажную трубку и положите ее на регулярно освещенный стол. Взгляните внутрь туалетной трубки, а затем посмотрите на улицу. Так как внутри туалетной трубки не так легко попасть при окружающем освещении, она кажется темнее, чем снаружи. Это то, что делает окружающая окклюзия. Теперь, если бы в реальном мире были графические настройки, и мы отключили бы внешнюю окклюзию, было бы не так просто отличить то, что находится внутри трубки от того, что находится снаружи. Если только на текстурах (об этом мы поговорим позже) картонной трубки уже не нарисованы тени.

Окклюзия окружающей среды, когда она выполнена правильно, приводит к созданию сцены, которая выглядит намного более реалистичной, чем при визуализации без окклюзии окружающей среды. Но было время, когда окружающая окклюзия не использовалась в видеоиграх. В 2001 году в фильме Pearl Harbor, в котором снялись Бен Аффлек и Кейт Бекинсейл, использовалась эмбиентная окклюзия. В 2007 году, однако, игра Критек “Crysis” открыла Screen Space Ambient Occlusion, впервые в видеоиграх была использована окружающая окклюзия. Результаты были ошеломляющими, и в то время “Crysis” приветствовалась как прекрасно сделанная фантастическая эпопея. Не только из-за сюжета и игрового процесса, но и из-за ультрасовременной графики того времени. Но такая передовая технология означала, что на момент выхода Crysis имела одно из самых высоких требований к аппаратной части любой игры. Тем не менее, она установила планку, до которой должны дойти или пройти другие игры тройки А, желающие достичь погружения и реалистичной графики.

Как работает Ambient Occlusion?

Теперь мы знаем, что такое окружающая окклюзия. Но как она делает свою работу, добавляя глубину в игровую сцену в виде затенения?

Метод, разработанный Критеком, в частности, Владимиром Каялиным, работает как алгоритм пиксельного шейдера. Пиксельные шейдеры, по сути, вычисляют различные атрибуты и настройки области сцены или объекта в сцене, и на основе этих вычислений получают результат. Это может быть простой результат, как простой цвет, или, в данном случае, количество света. Он делает это для каждого пикселя, присутствующего на экране.

Это похоже на большую работу, и так и есть. Наверное, именно поэтому столько времени ушло на его реализацию в видеоиграх. Потому что до этого было очень сложно выполнить эмбиентную окклюзию с помощью рендеринга в реальном времени. Но решение, которое было создано компанией Crytek, использующей сэмплирование заданного количества пикселей вместо каждого пикселя, значительно сократило время и обработку. А вместе с другими технологиями, разработанными параллельно, это позволило получить качественное изображение, приемлемое для продвинутой графики видеоигр.

В наши дни существует множество видов окклюзии окружающей среды или AO, как это называют в индустрии, и они функционируют несколько по-разному.

Виды окружающего притяжения

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

SSAO или Screen-Space Ambient Occlusion – дедушка технологии окружающей окклюзии для видеоигр. Разработанная компанией Crytek в 2007 году, технология SSAO задает стандарт, когда речь идет об эмбиентной окклюзии, и по сей день является опцией по умолчанию для большинства выпускаемых видеоигр.

Ключевые особенности:

    1. Немного ресурсов процессора – из-за используемого алгоритма практически нет необходимости в использовании процессора. SSAO может быть выполнено графическим процессором или GPU.
    2. Быстрота и удобство в использовании – так как нет необходимости в предварительной обработке, SSAO имеет практически нулевое время загрузки и выделения памяти. SSAO можно выполнять специально на GPU
    3. .

    4. Последовательный и надежный – алгоритм применяется каждый раз одинаково.
    5. Адаптируемый – может применяться различными способами разработчиками видеоигр и производителями GPU.

SSDO или Screen Space Directional Occlusion – можно считать шагом вперед от SSAO с точки зрения технологического развития. В SSDO используются не только пиксели сцены или объекта. Оно также использует направление света, который попадает на объект, и любой свет, отскакивающий от объектов позади него. Это дает игроку возможность различать объекты, видя разницу в количестве теней и света между ними.

Это дает большую глубину и реализм, чем то, что SSAO уже приносит, и приближает видеоигры все ближе и ближе к неуловимым настройкам фотореализма.

Ключевые особенности:

    1. Более реалистичное освещение – с учетом направления света от источников, глубина освещения становится намного больше.
    2. Не так далеко от требований к ресурсам SSAO – даже если SSDO является преемником SSAO и имеет больше возможностей, требования к ресурсам остаются очень похожими на него, и это не такая уж большая нагрузка для современных графических процессоров.

HBAO/HDAO или Horizon-Based Ambient Occlusion и High-Definition Ambient Occlusion – это варианты SSAO, принадлежащие двум разработчикам GPU. Nvidia принадлежит HBAO, а AMD – HDAO. Они не так уж сильно отличаются от SSAO, но обеспечивают лучшую окклюзионную способность, особенно при использовании с соответствующими видеокартами. Однако это достигается за счет более высоких требований к ресурсам и снижения производительности, если только используемый GPU не очень современный.

VXAO или Voxel Ambient Occlusion – это следующий шаг для HBAO, также разработанный компанией Nvidia. Она обеспечивает более высокое качество окклюзии окружающей среды, чем HBAO, но за счет более интенсивного использования ресурсов, даже с учетом средних современных графических процессоров. Чтобы полностью использовать этот вид внешней окклюзии, вам понадобятся самые лучшие из доступных графических процессоров. Однако, когда он включен, вы определенно увидите разницу.

GI или Global Illumination – этот вид AO еще не использовался в видеоиграх. Но зная, как развиваются технологии, мы определенно увидим это в течение нашей жизни. Вот как делается фотореалистичное освещение. GI учитывает все источники света, присутствующие в сцене, и то, как каждый из них воздействует на множество присутствующих там объектов. Поэтому освещение близко, а то и вовсе не так близко, как в реальном мире. Реалистичные огни и тени, которые сделают все, что есть в сцене, в точности такими же, как и в реальном мире. Если, конечно, они не смоделированы или сделаны явно нереалистично.

Действительно ли окружающая обстановка меняет ситуацию в видеоиграх?

С учетом того, как описывается окружающая окклюзия, кажется, что AO является ключевым ингредиентом для того, чтобы сделать видеоигры очень реалистичными. И во многих случаях так и есть. Однако, если вы играли в большое количество видеоигр в последние несколько лет, вы заметите, что не так много игр, за исключением трех A-игр, включают AO или его варианты. Почему вы спрашиваете?

Дело в том, что даже если AO не требует вычислительной мощности процессора и не требует ресурсов, окклюзия окружающей среды очень обременительна для GPU. Теперь вы можете подумать: “Мой ПК может справиться с чем угодно, уверен, что любой другой ПК справится с этим?”. Но не у всех будут одинаковые GPU, самые передовые технологии и новейшее программное обеспечение. А компании, производящие видеоигры, будут думать о конечном результате, известном также как продажа своих игр как можно большему количеству людей.

Если игра слишком тяжелая для аппаратного обеспечения, она может и не продаваться. И это на самом деле одна из основных жалоб, которые критики и игроки высказывали по поводу Crysis. На момент ее выпуска обычный компьютерный игрок даже не мог запустить ее без потери кадров, без падения качества или чего-то в этом роде.

Теперь предположим, что вы сможете включить эмбициозную окклюзию без каких-либо негативных побочных эффектов. Действительно ли воздействие заметно? Ну, короткий ответ – это зависит от того.

Потому что это также зависит от того, как разработчик игры внедрил эмбиентное окклюзии в свою игру. Сделано правильно, эффект практически мгновенный, как только вы включаете настройки. Особенно вы заметите это, когда объекты располагаются близко друг к другу, например, трава или элементы растительности, или когда объекты находятся близко к стенам, потолкам или полам. Если вы очень визуальный геймер, то это то, что вы оцените по достоинству.

Однако, сделав это неправильно, вы едва заметите визуальную разницу. Но вы определенно почувствуете падение производительности в виде более низких fps или запаздывания. А если так, то какой смысл оставлять его включенным, верно?

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

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

Альтернатива окружающему окклюзии

.
Одной из самых популярных альтернатив внешней окклюзии является освещение цветением, используемое в таких популярных играх, как Skyrim. Проще говоря, расцветное освещение – это искусственно созданное воспроизведение визуального артефакта, который создается реальными камерами при получении света. Это как мягкое свечение (отсюда и “цветение”), которое создают яркие участки сцены. Это захватывает камеру и проявляется в фильмах, телевизионных шоу и даже в домашнем видео, записанном с помощью видеокамер или камер мобильных телефонов. Она завоевала популярность в видеоиграх еще в 2004 году и с тех пор присутствует во многих видеоиграх.

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

Самое лучшее? Освещение блума занимает очень мало вычислительной мощности GPU, или, в лучшем случае, не близко к тому, что окружающая окклюзия потребует от графической карты. Именно поэтому он стал популярным визуальным эффектом во многих играх с 2004 года, в том числе в таких играх на три A, как Elder Scrolls IV: Oblivion и Elder Scrolls V: Skyrim, а также в серии Fallout и многих других.

Если окружающая окклюзия не стоит проблем или делает очень мало, стоит ли вам даже подумать о том, чтобы включить ее во время игры?

Должен ли вы включить окружающих окклюзии в моей игре?

После дальнейших разговоров, кажется, что есть больше недостатков, чем плюсов, когда речь заходит об эмбиентной окклюзии в видеоиграх, не так ли? Так что, если это так, стоит ли вообще включать эмбициозную окклюзию? Если все, что вы получите, это минимальное визуальное улучшение для многих ресурсов, то оно того не стоит, верно?

Короткий ответ, опять же, зависит. Если ваш GPU может справиться с этим с минимальным или нулевым падением производительности, то включение фоновой окклюзии определенно является вариантом, особенно если вы хотите улучшить визуальное качество. Это также зависит от того, будет ли игра работать хорошо или нет. Если это так, то, возможно, стоит немного потерять производительность для визуального качества. А если она не делает это хорошо, то лучше просто оставить ее выключенной. Единственный способ узнать это – включить функцию и проверить это самостоятельно.

По общему мнению, окклюзия окружающей среды – это всего лишь трюк-спецэффект, который мало что добавляет к ощущениям от видеоигры, которые другие эффекты не могут дать без побочных эффектов. Однако некоторые игры делают это очень хорошо, так что если вы играете в те игры, которые делают это эффективно, то стоит оставить эту функцию включенной.

0 Shares: