Меню

Depth of field что это такое в настройках



Depth Of Field (DOF) — Глубина Резко Изображаемого Пространства

Depth Of Field (DOF) — Глубина Резко Изображаемого Пространства (ГРИП) или Глубина Резкости — одномерная величина, определяющая разницу между максимальным и минимальным расстоянием до наблюдателя, которое определяется наблюдателем как резкое. Термин пришёл в компьютерную графику из фотографии, где резкое изображение получается на тех участках, где световое пятно от точки в пространстве меньше зерна светочувствительного элемента, в следствии чего у наблюдателя возникает ощущение «резкости».

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

Частным случаем ГРИП является гиперфокал, когда в область резко изображаемого пространства попадает всё, начиная с определённого расстояния до бесконечности.

Основными техниками для получения эффекта ограниченной ГРИП в компьютерной графике являются следующие:

  • Трассировка лучей (Ray-Traced Depth of Field)
  • Использовнание накопляющего буфера (Accumulation-Buffer Depth of Field). В этой технике картинка рендерится из разных позиций, а затем накопленный результат смешивается.
  • Использование слоёв (Layered Depth of Field). Пространство делится на блоки по расстоянию, каждый блок отдельно размывается и результат смешивается.
  • Размывание пикселей в соответствии с данными Z-буфера (Forward-Mapped Z-Buffer Depth of Field, Reverse-Mapped Z-Buffer Depth of Field)

Релизация ГРИП методом накопляющего буфера.

Что такое Depth Of Field (DOF) — Глубина Резко Изображаемого Пространства?

Источник

Как настроить ENBSeries. Часть 3

2. Точная настройка эффектов ENBSeries (продолжение)
2.1. Настройка цветокоррекции
2.1.1. О палитре
2.2. Настройка воды
2.3. Настройка теней
2.4. Настройка эффекта motion blur
2.5. Настройка попиксельного освещения
2.6. Настройка глубины резкости
2.7. Другие настройки

Для удобства чтения статья разбита на три части, а для полноты восприятия обязательно обратитесь также к первой и ко второй части.

В первой рассматривались общие принципы работы ENBSeries и основные параметры. Во второй была рассмотрена тонкая настройка эффектов — отражений, эффекта bloom и SSAO. Третья часть продолжает вторую и тоже сосредоточена на настройке эффектов: описана настройка воды, теней, эффекта motion blur, освещения, глубины резкости и некоторые другие опции ENBSeries.

Продолжаем рассмотрение точной настройки эффектов.

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

Ниже вы видите скриншот из моего мода «Захват аэропорта», в комплекте с которым идут настройки ENBSeries, где при помощи цветокорекции изображение сделано почти черно-белым, а на втором скриншоте мод Autumn Sunshine, где при помощи палитры (о том, как подключать палитру написано ниже) достигается стилизация под теплые, желтоватые осенние тона.

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

Настройки цветокоррекции находятся в разделе [COLORCORRECTION] файла enbseries.ini.

DarkeningAmountDay — затенение или осветление темных областей экрана днем. Значения — от -100 до 100. Чем ниже — тем светлее.

ScreenLevelDay и ScreenLevelNight — параметры определяют среднюю яркость (от 0 до 100), которая будет восприниматься библиотекой как дневное время и ночное время суток соответственно.

DarkeningAmountNight — отвечает за уровень затенения или осветления темных областей экрана ночью, значения — от -100 до 100. На мой взгляд, темные и достаточно реалистичные ночи получаются со значением -40.

GammaCurveDay и GammaCurveNight — отвечают за коррекцию гаммы в дневное и, соответственно, ночное время суток. Значения — от -10 до 10; отрицательные значения делают изображение более выцветшим, лишенным цветов, положительные же значения делают изображение насыщенным.

UsePaletteTexture — параметр, который отвечает за то, будет (значение 1) или нет (0) использоваться палитра.

Что такое палитра? Это изображение в формате BMP, находящееся в папке с игрой (должно называться enbpalette.bmp), ориентируясь на которое ENBSeries «окрашивает» изображение в заданные цвета.

С помощью палитры можно сделать цвета приближенными к какому-то определенному оттенку, например, задать «подгонку» цветов под теплые тона или, наоборот, под холодные, сделать цвета более яркими в целом или более темными (кстати, яркость целиком берется из палитры, поэтому при включенной палитре параметры ScreenLevelDay и ScreenLevelNight неактивны).

Читайте также:  Настройка программного продукта это

Многие почему-то совершенно искажают цвета, подключая палитру с кислотными цветами, что совсем извращает изображение (разработчики компьютерных игр тоже так делают). На мой взгляд, нужно стремиться к реалистичной, не перенасыщенной, не чрезмерно «цветастой», но приятной для глаза картинке.

Смотрите также информацию о палитре на сайте ENBSeries , там же (вверху) дана ссылка и на палитру-пример, её же вы видите ниже (пересохраните в BMP и дайте ей «исконное» название, если захотите пробовать в игре).

Реалистичная вода — одна из самых красивых особенностей ENBSeries — настраивается в разделе [WATER] при помощи трёх параметров:

UseWaterDeep — будет (значение 1) или нет (0) использоваться учет глубины воды (плавный переход между глубинами).

WaterDeepness — «фактор полупрозрачности воды», как указано в инструкции (значения — от 0 до 1000), а визуально это смотрится примерно так: чем ниже значения параметра — тем более глубоким выглядит водоем (смотрите скриншот).

Кликните по картинке чтобы увидеть анимацию.

WaterQuality — качество воды (0 — максимальное, 2 — минимальное) .

Обратите внимание: качество обработки воды очень сильно меняется в зависимости от того, какая текстура воды (она находится в файле particle.txd папки models игры) используется. На первый взгляд это кажется неважным, однако текстура, хотя и не видна так, как когда эффекты воды ENBSeries выключены, задает общий вид воды (см. ниже скриншот из мода Endless Summer).

Текстура здорово влияет на внешний вид воды.

Настройки теней, которые с ENBSeries становятся мягкими и более реалистичными, находятся в разделе [SHADOW] файла с настройками.

ShadowFadeStart и ShadowFadeEnd — параметры отвечают за то, с какого расстояния тень будет появляться (в случае с первым) и исчезать (в случае со вторым параметром), значения — от 0 до 1000.

ShadowAmountDay и ShadowAmountNight — процент (от 0 до 100) яркости теней в дневное и ночное время соотвественно.

ShadowScreenLevelDay и ShadowScreenLevelNight — уровень (от 0 до 100) средней яркости, который будет восприниматься библиотекой как день и ночь соответственно.

ShadowQuality — качество теней, от 0 до 2 (0 — максимальное).

UseShadowFilter — будет ли использоваться фильтрация теней; фильтрация делает тени более «чистыми», лишенными шумов, но и больше нагружает видеокарту (1 — будет, 0 — нет).

ShadowBlurRange — степень (от 0 до 100) «мягкости», размытия теней (см. скриншот ниже, снятый в Spring Season 2.0).

«Мягкость» теней может быть какой пожелаете.
Кликните по картинке чтобы увидеть анимацию.

Настройки эффекта motion blur, который размывает изображение при движении (или же при поворотах виртуальной камеры) осуществляется в секции [motionblur].

MotionblurQuality — качество эффекта (от 0 до 2), очень влияет на производительность, и кстати, в зависимости от качества эффект выглядит по-разному: со значением 0 размытие сглаженное, а со значением 2 остается шлейф от объектов, что тоже по-своему интересно.

MotionblurVelocity и MotionblurRotation — мощность размытия при движении вперед и мощность размытия при вращении камеры соответственно; значения — от 0 до 100.

Стандартное повершинное освещение автомобилей заменено в ENBSeries на попиксельное. Находятся настройки освещения в разделе [PERPIXELLIGHTING]. У всех параметров значения от 0 до 100.

SpecularColorMin и SpecularColorMax — отвечают за минимальное и максимальное, соответственно, ограничение освещения цвета specular (текстуры, назначенной на автомобиль как specular)

SpecularColorMultiplier — фактор материала specular.

SpecularGlossinessMin и SpecularGlossinessMax — минимальное и, соответственно, максимальное ограничение силы освещения.

SpecularGlossinessMultiplier — фактор воздействия освещения на все specular-материалы.

Настройки эффект глубины резкости (DOF, depth of field — когда то, что не в поле фокуса виртуальной камеры оказывается размытым, подобно глубине резкости в настоящей фотокамере), находятся в разделе [DEPTHOFFIELD].

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

DOFQuality — качество эффекта (от 0 до 3)

DOFNumberOfPasses — число проходов для вычисления эффекта (от 1 до 5), что тоже влияет на качество (чем больше — тем лучше).

Читайте также:  Настройка пульта икс бокса

DOFFocusRange — дистанция, начиная с которой изображение будет терять фокус (от 1 до 1000).

DOFBlurinessRange — уровень размытия (от 1 до 10).

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

ForceAnisotropicFiltering — включает (1) или выключает (0) принудительную анизотропную фильтрацию текстур — технику, которая делает текстуры более сглаженными, устраняя неприятные их мерцания, что особенно улучшает изображение когда в игре используются текстуры высокого разрешения.

MaxAnisotropy — степень анизотропии (от 1 до 16).

ForceDisplayRefreshRate и DisplayRefreshRateHz — первый параметр (1 — включено, 0 — выключено) устанавливает принудительную частоту обновления экрана, которую можно (от 60 до 240) установить во втором параметре, но будьте осторожны с этим параметром, он может буквально привести к поломке монитора.

Любопытно, что в ряде более старых версий ENBSeries в настройках также был был раздел [PLUGIN] с одним-единственным (и нерабочим) параметром — WeatherMod, который активирует коррекцию цветом при установленном одноимённом моде (1 — включено, 0 — выключено).

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

ENBSeries — отличная штука, и настраивая библиотеку можно добиться нужных результатов, изменив графику по своему вкусу.

Источник

Графика в играх: окклюзия, сглаживание, фильтрация — Как и с чем её едят

Приветствую всех Стопгеймеров! Давайте начистоту, вы ведь тоже заходите в только купленную игру, но сперва кликаете на графические настройки? Кто ради чего, кому-то ради самоутверждения надо глянуть на ультра-автонастройку благодаря своему мощному «железу», а кто-то просто лезет туда ради интереса.Однако, задумывались ли вы, чем отличаются FXAA и TXAA, или 8х и 16х анизотропная фильтрация? Как-раз в этом блоге, группа Abuse Reviews сейчас вам расскажет и покажет, что же это за фильтрации такие, как они работают и с чем их едят. Поехали!

Давайте начнём с самого-самого простого

Разрешение экрана

Мало кто не знает, что разрешение — это количество отображаемых пикселей по горизонтали и вертикали. От этой настройки также зависит качество картинки и то, как сильно будут выражены «лесенки» в переходах между разными плоскостями\поверхностями. Но почему же возникает этот графический артефакт? Дело в том, что все графические элементы в играх состоят из пикселей, но таких проблем с прямыми линиями не происходит, но стоит только чуть её наклонить, как появляются «лесенки». Возникает это из-за отсутствия плавного перехода между цветами, которое обеспечивает сглаживание, вот о нём мы сейчас и поговорим.

Сглаживание

Самое главное его предназначение — борьба с теми самыми «ступеньками», которые все так не любят. Сглаживание обеспечивает нам плавный переход между цветами, за счёт чего изображение получается куда комфортнее, устраняя «ступеньки». Да, картинка однозначно становится красивой, но всегда приходится чем-то жертвовать, а именно производительностью. За счёт появления новой задачи, процессору и видеокарте приходится рендерить(обрабатывать) все эти дополнительные оттенки, которое даёт нам сглаживание. Но, к счастью, существует много видов сглаживания, которые предоставляют нам разработчики в настройках. Их то мы сейчас и рассмотрим:


Проблем никогда не бывает мало. В этом случае нет никаких исключений, ведь кроме «ступенек» встречается такой артефакт, как разрыв картинки. Это происходит, когда ваши монитор и видеокарта пытаются работать синхронно, но по какой-то причине эти парни не могут этого сделать, причиной является частота кадров и частота обновления монитора. К примеру, вы находитесь в какой-то загруженной локации, а ваша видеокарта старается держать стабильную частоту, в то время как монитор обновляет изображение на одной и той же частоте. Если они не синхронизируются между собой, то как раз и появляется такой разрыв. И для решения этой проблемы предназначен следующий параметр:

Вертикальная синхронизация

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

Читайте также:  Настройки люмия с чего начать

На этом о проблемах картинки и артефактах — всё

Тесселяция

Тут стоит обратить внимание на контур головы 47-го

А вот она создана не для того чтобы исправлять косяки в картинке, а улучшать её и делать более насыщенной и реалистичной. Многие из нас знают, что 3д-объекты в играх состоят из полигонов (мелких частиц). Тесселяция подразумевает разбиение полигонов на более мелкие части, чтобы генерировать больше деталей у объекта. Это особенно удобно для выделения высоты и глубины объектов. Также она способствует созданию более закругленных объектов без острых форм и углов.

Окклюзия окружения (Ambient Occlusion)

Лично я занимаюсь созданием 3д-моделей в Cinema 4D и довольно хорошо знаком с этой фичей.

Она позволяет создавать искусственные тени, таким образом, в идеале, геймдизайнеры и создатели 3д-анимаций предпочитают использовать движки, поддерживающие функцию глобального освещения, которое позволяет создавать освещение идентичное реальному, а всё благодаря вычислениям точных оттенков каждого из пикселей, в зависимости от общего количества света, попадаемого на него. Знаю, что звучит это сложновато, но как же это преобразовывает картинку… словами не описать. Такое освещение очень подходит для различных кинематографичных сцен в мультфильмах или кат-сцен в играх, но это оказывает очень сильную нагрузку на железо, но на то у нас и есть окклюзия окружения, которая создаёт искусственные тени там, где они должны располагаться.
Для начала стоит разобраться с освещением в играх. В них источником света является естественное освещение, которое является упрощённой версией глобального освещения, где расположение теней зависит от того, есть ли перед источником естественного освещения какое-либо препятствие, но это даёт нам более плоские тени в меньшем количестве, чем хотелось бы. Тут и наступает триумф окклюзии окружения, ведь она определяет расположение дополнительных теней с поммощью трассировки лучшей, а именно вычисляет, сколько солнечных лучшей блокируется рядом со стоящими объектами. То есть, если один объект загораживает другой, то поверхность второго объекта, разумеется, будет находиться в тени. Впадины, углубления и тому подобное начинает больше выделяться с помощью окклюзии.В огромном большинстве случаев этот параметр уже «вшит» в графические настройки, что не позволяет включать и выключать его. Но это всё окклюзия окружения в общем. Наверняка вы все сталкивались с такими параметрами освещения как SSAO,HBAO и HDAO?

Ну а что по кинематографичности?

Глубина резкости

Неплохо так нагружает вашу систему, но и так же неплохо придаёт картинке кинематографичности, а всё благодаря фокусу на конкретных объектах, благодаря чему, остальные объекты размываются. Но это может привнести неудобства, как например при игре в PUBG, во время выглядывания из окна (ну вы знаете, когда упираешься лицом в стену как идиот и видишь всё что происходит за ней) иногда замыливается вид в окне, а фокус идёт на стену или оконную раму. Очень раздражает. Однако кинематографичность, опять же, дарит нам положительные впечатления об игре.

Ну и последнее о чём хотелось бы рассказать

Анизотропная фильтрация

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

Ну а на этом всё. Если вам понравился этот блог и вы узнали что-то новое, обязательно жмите на плюс, а также интересно узнать, нравится ли вам качество видеоформата, если вы его глянули? Большое спасибо вам за внимание, всем удачных каток и стабильного FPS!

Источник

Adblock
detector