Як налаштувати ENBSeries. Частина 2

8 березня 2013
Flame

Зміст

1. Вступ

2. Точне налаштування ефектів ENBSeries

2.1 Налаштування відображень

2.2 Налаштування ефекту bloom

2.3 Налаштування SSAO

Вступ

У першій частині статті було загальне описання ENBSeries, було розказано про зміну її основних налаштувань, включення-вимкнення візуальних ефектів та налаштування гарячих клавіш.

Друга частина статті зосереджена виключно на налаштуванні ефектів. Розглядається точне налаштування відображень, ефектів bloom та SSAO.

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

Точне налаштування ефектів ENBSeries

У даному матеріалі продовжено розбір файлу enbseries.ini, розпочатий у першій частині статті. Цей файл містить усі налаштування графічного мода ENBSeries і саме грамотна робота з ним допоможе досягти бажаних результатів.

Кожен ефект або нововведення ENBSeries мають свій розділ у файлі enbseries.ini, наприклад, налаштування відображень знаходяться в розділі [REFLECTION].

Кожен розділ містить ряд параметрів, наприклад, ReflectionPower; після кожного параметра йде знак «=» і вказується числове значення. Числове значення — це, наприклад, 0 або 1 в сенсі «вимкнено» і «включено» відповідно, або від 0 до 100 (і більше) — цифри, які будуть вказувати на інтенсивність використання якогось ефекту.

Налаштування відображень

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

Відображення налаштовуються в розділі [REFLECTION].

Розглянемо параметри, доступні для налаштування відображень.

ReflectionPower — це рівень інтенсивності відображення; параметр визначає, наскільки помітні будуть відображення і має значення від 0 до 100.

Нижче ви можете побачити, як параметр впливає на відображення.

Клікніть по картинці щоб побачити анімацію.

ChromePower — відповідає за відображення сталевих частин автомобіля (значення від 0 до 100), відключено в поточних версіях ENBSeries і поки не має ніякої цінності.

UseCurrentFrameReflection — визначає, чи буде використовуватися кожен кадр для створення відображення, чи ні. Якщо параметр увімкнено (значення: 1), у відображенні буде точнісінько те, що знаходиться в кадрі, якщо ж параметр вимкнено (значення: 0), то відображення може трохи відставати від справжньої картини, що для багатьох користувачів видасться несуттєвим, адже вимкнення опції хоча й робить відображення менш точним, дає серйозний приріст продуктивності на слабких комп'ютерах.

ReflectionQuality — рівень якості. Значення — від 0 (максимальна якість) до 2 (мінімальна). Суб'єктивно різниця може бути не надто помітна, однак значення 2 дає відчутний приріст швидкості в порівнянні зі значенням 0.

ReflectionSourceSpecular — відсоток використання (значення: від 0 до 100) в якості відображень кольору матеріалу specular, тобто, як сильно будуть відображатися частини моделі транспорту, текстури яких накладені як specular-текстури, тобто, як текстури з «підробленими» відображеннями (або бликами).

ReflectionSourceTFactor — рівень відбивності (значення: від 0 до 100) текстури типу factor, глобального кольору, подібного до vertex color. У інструкції до програми зазначається, що на некоректно змодельованих машинах деталі можуть бути відбивними і навпаки; у будь-якому випадку за замовчуванням пропонується значення 50.

UseAdditiveReflection — додавання відображень до кольору машин (значення: 1) або ж м'яке змішування відображень з кольором машин (значення: 0), при значенні 1 можуть незначно змінюватися кольори транспортних засобів.

ReflectionDepthBias — «зсув геометрії відображення відносно оригінальної машини в бік камери, необхідно для деяких відеокарт і драйверів», значення — від 0 до 1000, рекомендоване вказане в інструкції — 100.

UseLowResReflection — використовуються (при увімкненні, значення — 1, вимкнення — 0) відображення низької роздільної здатності.

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

Клікніть по картинці, щоб побачити анімацію.

ReflectionSinglePass — обробка відображень в один прохід, значення 1 дає більш хорошу якість, значення 0 вимикає функцію.

UseEnvBump — визначає (0 — вимкнено, 1 — увімкнено), чи будуть відображення деформуватися, змінюватися в залежності від рельєфу текстури автомобіля; при увімкненому параметрі відображення буде виглядати краще, однак вимкнення дає невелике збільшення швидкості.

EnvBumpAmount — цей параметр (зі значеннями від 0 до 1000) визначає рівень зміни відображень відповідно до рельєфу.

EnvBumpOffset — відповідає (потужність задається параметром від 0 до 1000) за напрямок і величину обсягу. Великі значення параметра зроблять дрібні деталі на текстурі більш випуклими і помітними.

IBLAmount — параметр (значення: від 0 до 1000), ймовірно, що позначає інтенсивність ефекту Image-based lighting, в даному випадку це освітлення машин від неба як джерела світла. Ця особливість з'явилася в ENBSeries починаючи з версії 0.076 і поки що не зазначена в інструкції до бібліотеки. Візуально цей параметр робить відображення більш яскравим.

IBLPower — відповідає за силу вищезазначеного ефекту, значення також задаються цифрами від 0 до 1000.

Налаштування ефекту bloom

Bloom — ефект освітлення, який імітує пересвіт камерою, коли яскраве світло ніби частково просочується в темні частини сцен.

Занадто інтенсивне використання цього ефекту може бути і красивим, але нереалістичним (в реальному житті, в наших очах, так би мовити, зображення ніколи не виглядає передержаним), в той же час при помірному використанні ефект додає якоїсь «живості» зображенню, підкреслює яскравість світла в сонячний день і т.д.

Налаштування блуму знаходяться в секції [BLOOM] файлу enbseries.ini. До речі, ефект виглядає по-різному в залежності від яскравості екрана, яка виставлена в налаштуваннях самої гри, так що звертайте увагу і на це — іноді варто просто знизити яскравість в налаштуваннях самої гри, і зображення, яке здавалося до того надмірно яскравим, набуває нормального вигляду.

BloomPowerDay — визначає потужність ефекту в денний час доби; значення — від 0 до 100.

Клікніть по картинці щоб побачити анімацію.

BloomFadeTime — час адаптації ефекту до змін яскравості в грі. Значення — від 0 до 100000 мілісекунд. При занадто низьких значеннях блум може ставати потужнішим або слабшим різко, в той же час занадто високі значення роблять так, що зміна інтенсивності блуму непомітна. На мій погляд, цілком оптимальне значення — 500.

BloomConstantDay — як і BloomPowerDay, відповідає за потужність блуму, але без урахування часу адаптації блуму і зміни його яскравості; значення — від 0 до 100.

BloomQuality — якість обробки ефекту, 0 — максимальне, 2 — мінімальне.

BloomScreenLevelDay — рівень середньої яскравості, що відображається на екрані, який буде сприйматися ENBSeries як денна яскравість (тісно пов'язаний з параметром BloomPowerDay); значення — від -10 до 10.

BloomCurveDay — корекція гамми для блуму в денний час доби. Значення — від -10 (мутне зображення) до 10 (яскраве і насичене).

BloomPowerNight, BloomConstantNight, BloomCurveNight, BloomScreenLevelNight — параметри, аналогічні BloomPowerDay, BloomConstantDay, BloomCurveDay та BloomScreenLevelDay, однак, на відміну від них, відповідають вже за нічний час доби, а не за денний. Значення вказуються в тому ж діапазоні, що й зазначені для денних варіантів параметрів.

BloomAdaptationScreenLevel — рівень середньої яскравості (від 0 до 100), при перевищенні якого блум буде вимикатися; автор бібліотеки рекомендує вводити більше, ніж у BloomScreenLevelDay, значення.

BloomAdaptationMultiplier — параметр, тісно пов'язаний з вище зазначеним і відповідає за відсоток, який буде братися від денного яскравості блума, коли перевищується яскравість, введена в BloomAdaptationScreenLevel. Значення — від 0 до 100. На мій погляд, оптимальне значення — 20.

BloomAllowOversaturation – визначає, чи буде блум (якщо значення 0) м'яко накладатися, чи ж (при значенні 1) створювати враження перенасиченої яскравості.

BloomMaxLimit — максимально можлива інтенсивність блума, від 1 до 100.

Налаштування SSAO

У розділі [SSAO] однойменного ефекту, що створює більш просунуті тіні (імітує взаємне затінення об'єктів, які знаходяться поблизу один від одного), знаходяться параметри його налаштування.

UseFilter — відповідає за те, чи буде використовуватися фільтр шуму, який створює ефект. Коли параметр увімкнено (1), тіні виглядають краще, але й навантаження на відеокарту зросте (вимкнення — 0).

OcclusionQuality — якість ефекту; 0 — максимальне, 2 — мінімальне. Поки що цей параметр не працює, і жодної різниці від його змін не буде.

FilterQuality — якість фільтрації шуму, від 0 до 2; тісно пов'язаний з першим параметром.

DarkeningLevel — відповідає за затінення щілин, які створює ефект, фактично візуально тіні стають контрастнішими. Значення — від 0 до 100. Див. скріншот нижче: при значенні 20 оклюзії ледве видні, зате при значенні 90 результат вже відчутний.

BrighteningLevel — відповідає за освітлення «ребер» тіней, значення — від 0 до 100.

IlluminationLevel — рівень (від 0 до 100) освітлення тіней, які обчислені при увімкненій опції ненаправленого освітлення.

AdditiveIlluminationLevel — параметр, схожий з верхнім, відповідає за темні області; значення ті ж.

UseAmbientOcclusion — чи буде обчислюватися взаємне затінення об'єктів, 0 — вимкнено, 1 — увімкнено.

FadeDistance — не зазначений поки в офіційній документації параметр, скоріш за все відповідає за відстань, на якій тіні, створені за допомогою ефекту, будуть плавно зникати.

UseIndirectLightning — чи буде обчислюватися ненаправлене освітлення. 1 — буде, 0 — ні. Пов'язані з цим параметри дивіться вище. До речі, при бажанні можна розташовувати параметри в будь-якому порядку в файлі з налаштуваннями, так що можете для себе перемістити його поруч з IlluminationLevel та AdditiveIlluminationLevel.

UseForAlphaTest та UseForAlphaBlend — невідомі параметри; відповідають, можливо, за щось, пов'язане з прозорістю або ж альфа-каналом текстур.

* * *

Налаштування інших ефектів розглянуте в третьій частині статті.

Рекомендуемые файлы