27
13991
Forum
Мастерская
Mass Effect 3 - Руководство по настройке графики и снятию скриншотов: Часть 1
0
2013-03-17 22:38:02
2016-06-03 21:39:26


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

По скольку информации много, я решил разделить руководство на 2 отдельные темы. Первая (эта) будет посвещена Расширенным настройкам графики, а вторая - Внутриигровым модификациям.

- Часть первая: Расширенные настройки графики
- Часть вторая: Внутриигровые модификации



- NVIDIA Inspector v.1.9.6.6

Начнём с настройки профиля видеокарты и попробуем разобраться в чём сможем с примерами. Предлагаю коллективными усилиями написать подробное руководство с примерами по "Инспектору", потому что сам я уже давно им пользуюсь, но знаю далеко не всё. Это было бы полезно всем. Мой профиль для игры:



Чуть подробнее о настройках:

Compatibility (Совместимость)

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

Antialiasing (Сглаживание)

- Mode - режим сглаживания. Выбираем Override any application setting (Принудительно заменяем настройки игры своими).
- Setting - настройки. Какой именно тип сглаживания будет использоваться.
- Transparency Multisampling - включение и выключение мультисэмплинга (подробнее - ниже).
- Transparency Supersampling - тип суперсэмплинга.

Как известно основная проблема MSAA (мультисэмплинг) состоит в том, что он сглаживает только края полигонов. Если полигон прозрачный или полупрозрачный (например, стекло, или решетка проволочного забора в игре сделанная из текстуры, в которой прозрачные пиксели чередуются с непрозрачными), то сглаживания границ с тем, что проступает через этот полигон не происходит, и мы видим четкие ступеньки. Зато нам не приходится рассчитывать значения цвета для каждого отсчета (сэмпла), и мы обходимся только раздельными значениями глубины, а цвет один общий на все сэмплы. Основную проблему - ступеньки на краях полигонов такой метод устраняет эффективно. Но с прозрачными полигонами он не справляется. Второй метод - SSAA (суперсэмплинг) честно рассчитывает все значения цвета для всех отсчетов, и мы получаем правильную картину даже через полупрозрачные полигоны с четкими границами прозрачных и непрозрачных областей. Однако, тогда мы заметно проигрываем в скорости - нам надо выполнить пиксельные шейдеры в несколько раз больше - столько сколько у нас отсчетов, 2 или 4 раза. [1]

От меня: мультисэмплинг у меня всегда выключен, а суперсэмплинг переключается в зависимости от ситуации. Современные GPU позволяют просчитывать каждый сэмпл без большой потери производительности. Ну, я немного слукавил, и на самом деле используется комбинация MSAA и SSAA.

- Toggle FXAA on or off - включение и выключение FXAA. Fast approximate anti-aliasing - это новый алгоритм сглаживания разработанный в компании NVidia Тимоти Лоттсом.

Коллективно с Nick`ом мы смастерили следующий профиль сглаживания для ME3: 4x [4x Multisampling] + 4x Sparse Grid Supersampling (Скачать). Если у вас игра настроена по умолчанию, этот профиль должен подойти отлично. Ну, разумеется решений на все случаи жизни не бывает, далее я коснусь одной ситуации, когда этот профиль не подойдёт. Мы так же не используем в нашем профиле FXAA, потому что используя MSAA и SSAA при включеном DOF это позволяет добиться того же эффекта с наименьшей потерей производительности, а в некоторых местах даже и лучшего эффекта. К примеру, с включенным FXAA шрифты в игре буду сглажены очень сильно, а нам это не требуется.

Пара скриншотов для наглядного сравнения:

Default 4xMSAA + 4xSGSSAA



Была одна ситуация, когда мне не подошёл профиль описанный выше. Это ситуация, когда понадобилось выключить DOF (Depth Of Field - глубина резкости). В чём разница с DOF и без него: при включенном DOF объекты на расстоянии размываются, т.е. есть объекты в фокусе и вне фокуса. Это помогает разработчикам, не в последнюю очередь, скрывать огрехи графики и не рисовать чёткие объекты там, где это не важно. Вот пример:

DOF TRUE DOF FALSE



Не знаю, почему, но DOF в Mass Effect 3 влияет на сглаживание. Вороятно, его как-то используют на гранях, пускай умные люди поправят меня. Вот, что выходит, когда с профилем выше выключить DOF (обратите внимание на грани компьютера справа и слева):

4xMSAA + 4xSGSSAA + DOF FALSE



Пришлось подбирать другие настройки и включить FXAA (получается, мы сглаживаем сглаживание (c) Nick, но без него не получится). Я выбрал для игры настройки 8xSQ. Пробовал разные, результат - на скришотах ниже (обратить внимание следует на вот эти места)


16xS + 4xSS 8xSS 8xSQ + 8xSS



8xSQ + 4xSS 8xSQ + 2xSS 4xSGSS



8xSQ + 4xSGSS




Совершенно очевидно, что вариант 8xSQ + 2xSS показывает наилучший результат. Немаловажно то, что игра у меня вообще не просела по производительности, чего не скажешь, например, о 16xS + 4xSS, визуально почти по нулям, но игра жестоко тормозила даже в меню.

Texture Filtering (Фильтрация текстур)

В этой секции можно настроить качество отображения текстур. Первым делом включим анизотропную фильтрацию и установим её значение в максимально возможное.

- Anisotropic Filtering mode - User-defined / Off
- Anisotropic Filtering setting - 16х

Анизотро́пная фильтра́ция (англ. Anisotropic Filtering, AF) — в трёхмерной графике метод улучшения качества изображения текстур на поверхностях, сильно наклонённых относительно камеры. Как билинейная и трилинейная фильтрация, анизотропная фильтрация позволяет устранять эффект ступенчатости на различных поверхностях, но при этом вносит меньше размытия и поэтому позволяет сохранить бо́льшую детальность изображения. [3]

- Texture filtering - Anisotropic filter optimization - Off - выключаем оптимизацию для более чёткого отображения текстур (можно включить, чтобы добавить немного производительности)
- Texture filtering - Anisotropic sample optimization - Off - оптимизация сэмплов

Хороший наглядный пример с выключенным AF и включенным на 16х можно посмотреть по этой [2] ссылке.

- Texture filtering - Driver controled LOD bias - On - выбор уровня детализации (MipMap уровень) контролируется драйвером [4]
- Texture filtering - LOD bias - -1 - уровень детализации

Вообще, использование отрицательного LOD-смещения это плохая идея, потому что из-за него могут мерцать текстуры, но если использовать в качестве сглаживания суперсэмплинг, то эта штука необходима для компенсации размытия. Есть так же стандартные значения, которые рекомендуется использовать в зависимости от уровня суперсэмплинга: 2x = -0,5, 4x = -1,0 и 8x = 1,5 [5]. По скольку мы выбрали уровень сглаживания 4xSS, то и LOD bias установим, как советуют, в -1 ± 0,125.

- Texture filtering - Negative LOD bias - Clamp - режим смещения.

Некоторые приложения используют отрицательный наклон поверхности в текстурах для усиления их фильтрации. Эта функция влияет на статическое изображение, в случае динамической сцены применяется антиалиасинг. По умолчанию опция установлена в режим Allow, который предусматривает наилучшее быстродействие. Режим Clamp может быть активен только в том случае, если функция антиалиасинга включена и способствует улучшению качества изображения с небольшой потерей производительности. [6]

- Texture filtering - Quality - High quality - качество филтрации, ставим наивысшее.
- Texture filtering - Trilinear optimization - Off - трилинейная оптимизация. Это параметр не важен, т.к. в нашем случае (Quality - High quality) он будет просто игнорироваться.

Ambient occlusion (дословно: внешнее преграждение, перекрытие окружающей среды)

Ambient occlusion (AO) — модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности. В отличие от локальных методов, как например затенение по Фонгу, ambient occlusion является глобальным методом, то есть значение яркости каждой точки объекта зависит от других объектов сцены. В принципе, это достаточно отдалённо напоминает глобальное освещение. [7]

- Ambient occlusion - High quality - нам достаточно включить это значение на максимум, чтобы игра света и тени была как можно реалистичнее.

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



Путь до файла: C:\Users\%USERNAME%\Documents\BioWare\Mass Effect 3\BIOGame\Config\GamerSettings.ini

GamerSettings.ini - это открытый файл конфигурации игры. Там можно сделать не очень много, но он нам тоже пригодится.

Откройте его блокнотом. Теперь посмотрим, какие настройки могут быть нам интересны (секция [SystemSettings]):

DynamicShadows=True - динамические тени, вкл True, выкл False
MotionBlur=True - размытие в движении
bAllowPostprocessAA=True - пост-процессинговый AA, оставляем в True, потому что иначе сглаживание совсем отключится!

В конфиг также можно добавить несколько отсутствующих в нём строк, а именно:

SmoothFrameRate=True - ограничение FPS, верхний порог установлен в 60 FPS. Это сделано для того, чтобы игра не вылетала с ошибками типа "Out of memory", а так же избавляет от странного поведения мыши при повороте камеры. Можно поставить Flase, тогда порог будет снят, действуйте на свой страх и риск. По умолчанию True.
UseVSync=True - вертикальная синхронизация. Игра использует это значение вместе со SmoothFrameRate, чтобы ограничивать порог FPS. По умолчанию True.

Отключение UseVSync и SmoothFrameRate увеличит общую производительность, но не будет ограничивать FPS до 60-62 и игра может вылетать или вести себя странно. Выключать не рекомендую.

MaxSmoothedFrameRate=62 - максимальное значение FPS, по умолчанию 62.
MaxShadowResolution=512 - максимальное разрешение динамических теней. По умолчанию 512, минимальное значение 64, но я советую поставить 2048. Немного может просесть производительность, но тени будет чётче. Для сравнения - интертактивный пример [2] теней с разрешениями 64 и 2048 соответственно.
ShadowFilterRadius=2.000000 - параметр отчевает за то, насколько грани динамических теней будет сглажены. Чем меньше значение, тем чётче грани. Я оставил по умолчанию - 2. Интерактивный пример [2] для сравнение значений 1 и 10.
DepthOfField=True - глубина резкости, тот самый DOF. По умолчанию включен и отключать без особой необходимости не советую.
Distortion=True - дословно "деформация". Отвечает за эффект дымки, который чаще всего можно видеть при стрельбе, либо при перезарядке, когда выстреливают гильзы. По умолчанию включен, но можно выключить дымку, чтобы получить незначительный прирост FPS.
DynamicDecals=True - динамические декали (рисунки), такие как следы от пуль на стенах. По умолчанию включен.
LensFlares=True - рассееяние света. Пример [2].



• AA - Antialiasing - Сглаживание
• MS - Multisampling - Мультисэмплинг (вид сглаживания), соотвественно MSAA - Multisampling Antialiasing
• SS - Supersampling - Суперсэмплинг (вид сглаживания), соотвественно SSAA - Supersampling Antialiasing
• DOF - Depth of field - глубина резкости
• FXAA - Fast approximate anti-aliasing - новый алгоритм сглаживания от NVIDIA
• AF - Anisotropic Filtering - Анизотропная фильтрация
• LOD - Level Of Detail - Уровень детализации



1) http://www.ixbt.com/video2/g70-part4.shtml
2) http://www.geforce.com/optimize/guides/mass-effect-3-tweak-guide
3) http://ru.wikipedia.org/wiki/Анизотропная_фильтрация
4) http://www.gamedev.ru/code/forum/?id=37741
5) http://forum.step-project.com/showthread.php?tid=991&pid=14140#pid14140
6) http://www.compress.ru/article.aspx?id=17482&iid=810
7) http://ru.wikipedia.org/wiki/Ambient_occlusion
0
#
2013-03-18 08:45:12
Кстати, секция про NVIDIA Inspector должна отлично подойти для любой игры на Unreal Engine 3!
1
#
2013-03-18 23:53:55
У меня нет 8xSQ + 2xSS, точнее там много разных, не понять как ваши профиля вставлять и тп.
---
По скольку мы выбрали уровень сглаживания 4xSS,
Но мы выбрали же 8xSQ + 2xSS?
2
#
2013-03-19 08:46:15
Попробуй обновить инспектор, он сам обновляется (внизу появляется кнопка). Настройки надо импортировать. Это делается так: в левом верхнем углу выбирается профиль Mass Effect 3, после этого нажимается кнопка импорт:



И выбирается файл .nip

По скольку мы выбрали уровень сглаживания 4xSS,
Но мы выбрали же 8xSQ + 2xSS?


Не совсем. Вся статья рассматривается с позиции, когда включен DOF. Я просто в параграфе "Сглаживание" сделал небольшое отступление и рассмотрел ситуацию, когда выключен DOF и настройки 4xMS + 4xSGSS не дают нужного сглаживания и надо форсировать другие настройки. Наверное, это не очень очевидно и надо будет переписать параграф.
0
#
2013-03-19 10:22:04
Я вот попробовал не отключая доф поставить 8xSQ + 2xSS, вышло хуже чем с 4xMS + 4xSGSS.
0
#
2013-03-19 11:40:00
Отключи DOF и при 4xMS + 4xSGSS будут лестницы, 8xSQ + 2xSS же сгладит максимально возможно (тем не менее, какие-то лестницы всё равно могут остаться).
0
#
2013-03-19 14:42:06
Я имел ввиду, что если не отключаешь доф то нет смысла ставить 8xSQ + 2xSS, потому что в таком случае будут лестницы.
0
#
2013-03-19 15:40:31
Так ведь в тексте не написано использовать этот вариант с дофом.
1
#
2013-03-19 16:41:51
А я вот решил проверить с дофом и о результатах отписал.
0
#
2013-03-19 15:44:08
В МЕ1 с дофом лестницы появляются только на поверхностях, где есть сильный блик, если отойти далеко.
2
#
2013-03-19 16:43:14
В МЕ1 я вообще не заморачивался со сглаживанием, могу только сказать что если включить в нем FXAA будет адовый блюр.
0
#
2013-03-20 02:38:59
Судя по всему там нужно вообще го отключать, очень сильно просел фпс, а если даже не просел, чувствуется задержка отклика персонажа.
0
#
2013-03-19 15:54:41
Опиши внимательнее пункт с Antialiasing - Mode и Antialiasing - Setting, что в ваших примерах, используется оба селекта, а то я искал такие настройки только в первом. И ещё, как я понимаю, каждый раз при редактировании профиля нужно перезапускать игру?
0
#
2013-03-19 15:58:31
> каждый раз при редактировании профиля нужно перезапускать игру
К сожалению я не знаю как без этого.
0
#
2013-03-20 02:41:26
LensFlares, я бы назвал всё же бликами )
1
#
2013-03-21 02:46:47
Тем, кто настроил оригинальный Mass Effect по максимуму, рекомендую отключить VSync, увидите значительный прирост производительности без потерь качества.

Так же рекомендую отключить телешум, ибо его зёрна настолько крупны, что даже как-то не красиво становиться. Плюс, не значительное увеличение производительности.
0
#
2013-03-21 08:29:40
>Так же рекомендую отключить телешум
Hidden text
0
#
2013-03-21 16:05:10
В МЕ он ужасен в отличии от МЕ3, там не благородная зернистость, а телешум, как будто не до конца настроен канал аналогового телевидения.
0
#
2016-08-01 12:24:59
кто нибудь сумел отключить виньетирование?
команды, работающие в предыдущих МЕ вида :
( Name="F10", Command="SET MATERIALEFFECT bShowInGame TRUE")
( Name="F11", Command="SET MATERIALEFFECT bShowInGame FALSE")
в МЕ3 не работают
1
#
2016-08-05 10:20:28
1. Качаешь активатор консоли.
2. Закидываешь содержимое архива в G:\OriginLibrary\Mass Effect 3\Binaries\Win32.
3. В Coalesced.bin в секции bioinput.ini/engine/console биндишь consolkey на F11, а typekey на F12.
4. Запускаешь игру с LauncherWV.exe.
5. В игре прожимаешь свой хоткей и вводишь комманду Show POSTPROCESS. Правда отключает чуть больше чем виньетку.

[hr]
Либо в GamerSetting.ini в секцию [SystemSettings] добавляешь DepthOfField=False. Что отключит и DOF и виньетку.
[hr]
Либо биндишь ( Name="F7", Command="Show POSTPROCESS" ) .
[hr]
О боги, всё просто ( Name="F7", Command="Show Vignette" ) .
0
#
2016-08-04 11:47:24
LensFlares=True
вот это полезная настройка, а есть ли способ её на hotkey забиндить?
0
#
2016-08-04 12:40:12
Думаю, достаточно добавить:

( Name="F2", Command="LensFlares" )
0
#
2016-08-04 14:37:54
неа, не работает
ни
( Name="F2", Command="LensFlares" )
ни
( Name="F2", Command="LensFlares bShowInGame FALSE")

Криворукие разрабы, даже не потрудились нормальные настройки сделать
2
#
2016-08-05 10:20:45
1. Качаешь активатор консоли.
2. Закидываешь содержимое архива в G:\OriginLibrary\Mass Effect 3\Binaries\Win32.
3. В Coalesced.bin в секции bioinput.ini/engine/console биндишь consolkey на F11, а typekey на F12.
4. Запускаешь игру с LauncherWV.exe.
5. В игре прожимаешь свой хоткей и вводишь комманду Show LensFlares.

[hr]
Либо биндишь ( Name="F6", Command="Show LensFlares" ) .
PS. Убил 2 часа времени.
0
#
2016-08-05 10:38:02
Ты молочина!!!
благодарю! всё работает, теперь не придётся каждый раз перезапускать игру прописывая параметры вручную!
Это сильно всё облегчает!
А я почти всю эту ночь просидел так и не нашёл
1
#
2016-08-05 10:40:33
Да не за что ) Я ещё обновил пост о виньетирование :D Да, метод перебора и консоль решает. В интернете такого решения тоже не нашёл, хотя, как оказалось, всё очень просто. Стандартные команды и значения Unreal 3 работают.
2
#
2016-08-05 11:06:22
О боги, всё просто ( Name="F7", Command="Show Vignette" ) .
ждал этого почти 10 лет ))
0
#
2016-08-08 08:13:45
Это странно, но у меня ME3 с этими настройками inspector'a подтормаживает, хотя комп должен тянуть такое вообще не напрягаясь
сделал всё как на картинке
вот так

может это потому что я менял параметры теней,
shadowdepthbias = .06
shadowfadeexponent = .000025
При этих параметрах сеток почти нету, (вернее теней на лицах почти нету), а в качестве бонуса при попытке сделать тиледшот игра вылетает

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


Only logged users can leave comments