Что такое пост эффекты в assassins creed
Игра улучшена при помощи программы Reshade, изменена цветокоррекция,резкозть,хроматическая оберация,добавлен магкий свет.
Внимание: Яркость в игре ставить на 6 и Отключить Пост Эффекты.
Установка: закинуть все в корневую папку игры[Assassins Creed II\AssassinsCreedIIGame.exe]
Удаление: Удалите эти файлы d3d9.dll, папка reshade shaders, ReshadePreset.txt,Reshade.txt
P.S Пожалуйста смотрите картинки в полноэкранном режиме, чтобы увидеть разницу, а лучше в самой игре.
Большинство публикаций по графике для консолей и десктопов рассказывают о чем-то новом, а для мобильных платформ во главе угла всегда стоит оптимизация уже существующего.
Что касается пост-обработки — её волшебное действие на фотографии было открыто задолго до появления первых компьютеров, а её математический и алгоритмический базис, созданный для цифровой обработки изображений, удачно вписался в программируемый конвейер GPU.
Помимо того, что пост-эффекты (точнее — их не очень грамотное использование) являются предметом ненависти среди игроков, они также едва ли не единственный способ быстро и дешево «оживить» и «освежить» картинку. Насколько качественным получится это «оживление» и не обернется ли оно в результате «свежеванием», зависит по большей части от художников.
Слегка «освежеванный» скриншот War Robots.
Как уже было сказано выше, эта статья будет посвящена в основном оптимизации. Для тех кто не в теме — отличным вводным курсом будут книги из серии GPU Gems, первые три из которых доступны на сайте NVidia [1].
Рассматриваемые примеры реализованы на Unity, тем не менее методы оптимизации, описанные здесь, применимы к любой среде разработки.
Оптимальная архитектура пост-обработки
Существует два способа рендеринга пост-эффектов:
- последовательный — когда рендеринг разбивается на отдельные шаги и на каждом шаге к изображению применяется только один пост-эффект за шаг;
- пакетный — сначала рендерится промежуточный результат каждого эффекта, а затем на финальном шаге применяются все пост-эффекты.
В то же время пакетный рендеринг заметно эффективнее, поскольку он экономит общее число обращений к памяти. Последнее наиболее актуально для мобильных платформ, на которых повышенная вычислительная нагрузка сопровождается повышенной же теплоотдачей (кто бы мог подумать). И даже если устройство сумеет выдать требуемую частоту кадров, вряд ли игроку будет комфортно играть, держа в руках горячий «кирпич».
Для наглядности приведу последовательную и пакетную схемы рендеринга пост-эффектов, используемых в War Robots.
Последовательный рендеринг: 8 чтений, 6 записей.
Пакетный рендеринг: 7 чтений, 5 записей.
Пакетный рендеринг для Unity реализован в модуле Post Processing Stack [2].
Последовательность применения пост-эффектов без изменения кода изменить невозможно (но и не нужно), а вот отдельные пост-эффекты отключить можно. Кроме того, в модуле интенсивно используется встроенный в Unity кэш ресурсов RenderTexture [3], так что в коде конкретного пост-эффекта, как правило, содержатся только инструкции по рендерингу.
Ресурсы же пост-эффект запрашивает непосредственно во время рендеринга, и освобождает их по его завершению. Это позволяет организовать повторное использование ресурсов в последующих пост-эффектах, поскольку кэш удаляет только те ресурсы, которые не были востребованы в течении последних нескольких кадров.
В целом, Post Processing Stack нам понравился, но все же без доработки напильником дело не обошлось. Нам требовался масштабируемый модуль с возможностью добавлять или заменять пост-эффекты (включая препассы), а также модифицировать захардкоженный пайплайн, задающий последовательность рендеринга, и композиционный «убер-шейдер». Плюс ко всему в эффектах были разнесены настройки качества эффекта и его параметры на конкретной сцене.
Оптимизация fillrate
Основной метод рендеринга в пост-процессинге — это блиттинг: заданный шейдер применяется ко всем фрагментам текстуры, используемой в качестве render target. Таким образом, производительность рендеринга зависит от размера текстуры и вычислительной сложности шейдера. Простейший способ повысить производительность (а именно — уменьшение размера текстуры) сказывается на качестве пост-процессинга.
Но если заранее известно, что рендеринг необходим только в определенной области текстуры, можно оптимизировать процесс, к примеру, заменив блиттинг на рендеринг 3D-модели. Разумеется, никто не запрещает вместо этого использовать настройки viewport'а, но 3D-модель отличается от блиттинга увеличенным объемом per-vertex данных, которые в свою очередь позволяют задействовать более «продвинутые» вертексные шейдеры.
Именно так мы поступили с пост-эффектом рассеивания света от солнца [4]. Мы упростили оригинальный препасс, заменив его на рендеринг биллбоарда с текстурой «солнца». Фрагменты биллбоарда, скрытые за объектами сцены, выделялись с использованием полноэкранной маски, которая по совместительству служит нам буфером теней (подробнее о рендеринге теней я расскажу чуть позже).
Справа: буфер теней и маска, которая получается, если применить к нему степ-функцию. Все тексели, альфа которых меньше 1, перекрывают собой “солнце”.
Сглаживание текстуры препасса также выполняется при помощи рендеринга 3D-модели.
Разумеется, мы пошли до конца: финальный проход тоже сделан с помощью рендеринга 3D-модели. И в отличие от предыдущих случаев, которые при желании можно заменить блиттингом во вьюпорт, здесь 3D-модель содержит дополнительные данные (цвет вертекса), которые используются в шейдере эффекта.
Оптимизация динамических теней
Не смотря на вычислительную сложность пост-эффектов, динамические тени зачастую ещё более ресурсозависимы. Связано это не только с вычислительной сложностью соответствующих шейдеров, но и с тем, что для получения сглаженных теней требуется дополнительный полноэкранный проход рендеринга.
Обычно, для расчета затенения для фрагмента изображения с использованием техники Shadow Mapping'а используется фильтр PCF [5]. Однако результат без дополнительного сглаживания дает только PCF с очень большим размером ядра, что неприемлемо для мобильных платформ. Более продвинутый метод Variance Shadow Mapping требует поддержки инструкций аппроксимации частных производных и билинейной фильтрации для floating-point текстур [6].
Для получения мягких теней рендер всей видимой сцены выполняется дважды — в первый раз в offscreen-буфер рендерятся только тени, затем к offscreen-буферу применяется фильтр сглаживания, и после этого на экран рендерится цвет объектов, с учетом влияния тени из offscreen-буфера. Что приводит к двойной загрузке как CPU (отсечение, сортировка, обращение к драйверу) так и GPU.
Как один из вариантов решения проблемы — мы решили избавиться от двойного рендера сцены, не переходя на технику отложенного освещения.
Для начала рендерим изображение в промежуточный буфер в формате RGBA (1). Значение альфы — отношение яркости цвета фрагмента если бы он был в тени, к яркости без тени (2). Затем, используя command buffer, перехватываем управление в момент завершения рендера непрозрачной геометрии, чтобы забрать альфу из буфера. Далее сглаживаем (3), и модулируем сглаженные тени с цветовыми каналами промежуточного буфера (4). После этого возобновляется работа пайплайна Unity: рендерятся прозрачные объекты и скайбокс (5).
Данный трюк ведёт к небольшой деградации цветопередачи в затенённых местах, но хитрости вычислений того, что пишется в альфу позволили снизить это влияние до минимума.
В результате мы получили заметный прирост производительности (10-15%) на устройствах средней производительности (в основном на андроидах), и на ряде устройств уменьшилась теплоотдача. Данная техника — это промежуточное решение, до перехода на отложенное освещение.
Для съемки промо, мы по прежнему используем более качественный вариант, т.к. деградация цветопередачи там нежелательна, а ресурсов PС хватает. Для улучшения мягкости тени в этом случае мы применили следующее: при наложении тени используется формула, учитывающая LDotN, что позволяет добиться более плавного перехода в освещенных местах.
Плата за неё — небольшое выгорание тени в местах, где она при блюре становится не абсолютно черной, но зато в результате получается более плавный переход полутени.
Что такое пост эффекты в assassins creed
После скачивания распакуйте архив в любое удобное для вас место.
Что бы задействовать мод,нужно каждый раз проделывать инструкции ниже:
Запустите AC2 и сверните его
Запустите AC2FM
Загрузив сохранение и начав игру нажимайте в ней следующие горячие клавиши:
F1-вернуть значение теней по-умолчанию(1024p)
F2-Улучшить разрешение теней до 4096p
F3-Увеличить дистанцию детализации зданий
Внимание!Если F3 вызвал у вас редкую проблему с производительностью, то советую вам понизить параметр мультисэмплинга. Также для лучшей четкости дальности советую вам выключить Пост-Эффекты в настройках графики.
Скриншоты использования мода:
Вы справились и не поленились улучшить своё восприятие от игры.Желаю всех хорошего прохождения и до скорых встреч)
Вопросы:
А)Меня забанят за использование данного софта?
В)Нет
А)Меняет ли мод дальности качества прорисовки NPC?
В)Нет
А)Нужно ли проделывать запуск мода каждый раз что бы задействовать его?
В)Да
Улучшаем стандартную графику Unity за несколько минут
Принято считать, что графика в движке Unity не сравнится с картинкой Unreal Engine. Но так ли это? Попробуем сегодня понять, почему проекты на Unreal выглядят лучше.
Один из секретов Unreal Engine — сразу после создания нового проекта в нём уже включены эффекты пост-обработки. Пост-эффекты обрабатывают финальное изображение игры перед выводом на экран, улучшая внешний вид игры. Даже плохие модели и текстуры иногда можно немного вытянуть правильно настроенными пост-эффектами.
Spec Ops: The Line - довольно старая игра на Unreal Engine 3, которая, однако, на полную использует большую часть описанных ниже эффектов пост-обработкиВ Unity тоже есть эффекты пост-обработки, но они не активируются при создании проекта, более того — их даже нет в самом движке и их нужно скачивать отдельно. Ну, на текущий момент.
Это можно сделать через Package Manager, набрав в поиск Post Processing. Устанавливаем найденный плагин и теперь мы можем пользоваться пост-эффектами в юнити. У меня он уже установлен, поэтому я перейду к настройке.
Открываем через Верхнее меню -> Window -> Package ManagerК слову, я добавил в проект ассеты скал и неба для демонстрации, все их можно загрузить на Unity AssetStore для вашей игры бесплатно. Сейчас можно видеть, как выглядит сцена без настройки:
Для того, чтобы настроить плагин, добавляем на объект с основной камерой компонент Post-Processing Layer, в нём задаём Layer на Everything (и заодно сглаживание, которое уберёт лесенки с краёв моделей).
Unity просит не ставить слой Default или Everything, но за год работы с пост-процессингом я не увидел никакой проблемы с производительностью из-за этого параметра.Затем создаём новый пустой объект с компонентом Post-Process Volume, в котором включаем галочку Is Global, что будет означать, что он влияет на всю вашу сцену. Нажатием кнопки New создаём новый профиль с эффектами.
Новый объект создаётся исключительно для удобства работы.А, и да, для игр на ПК стоит в Project Settings сменить Color Space с Gamma на Linear, это значительно улучшит общий вид игры, рекомендую почитать об этом в справке Unity, а может я даже сделаю отдельный материал по этой теме.
Открыть окно Player Settings можно через верхнее меню -> Edit -> Player Settings. Применять данный параметр для мобильных платформ не рекомендую без необходимости - он повышает затраты ресурсов устройства.Возвращаемся к нашему объекту с Post Process Volume и сразу добавляем 4 новых эффекта:
- Bloom
- Ambient Occlusion
- Color Grading
- Vignette
Теперь настраиваем их по порядку. Начнём с Bloom. Для включения эффекта ставим галочку возле Intensity, а затем прибавляем значение для того, чтобы усилить действие эффекта.
Сразу можно заметить, что мой эффект огня на сцене, если его можно так назвать, преобразился и стал гораздо сочнее. Так же это повлияло на небо на заднем плане, создав небольшую «дымку» от него. Этот эффект очень хорошо подходит для визуальных эффектов вроде пуль, огня, неона и прочих источников освещения, он добавляет кинематографичности сцене. Играясь с его параметрами можно получить голливудскую картинку на бликах и не хуже, чем в Unreal Engine.
Ambient Occlusion даёт дополнительное затенение, имитируя скопление теней в выемках в реальном мире, только немного сильнее для художественного эффекта. После применения эффекта окружение приобретает глубину.
Слева - до, справа - после. Появилось дополнительное затенение, которое частично скрывает резкий переход от скал к земле.Color Grading позволяет применить к изображению игры дополнительную цветокоррекцию и набор параметров тут очень обширный. Подобным эффектом пользуются при пост-обработке фильмов и видеоклипов, что намекает на его немалый функционал. Например, можно добавить художественности сцене, добавив какой-то цветовой оттенок.
До и после применения цветокоррекции. Конечно, так сильно менять картинку не всегда стоит, скриншот для наглядности.Vignette имитирует виньетку от объектива камеры. Этот эффект может добавить кинематографичности, хотя в кино он наоборот является нежелательным.
Разницу сложно заметить, но она есть. По краям изображения. Но на ощущения от игры может влиять довольно сильно.Теперь можно сравнить картинку с исходной, отключив компонент Post-Process Layer на камере.
Сразу видно, что пост-эффекты, настроенные за несколько минут, неплохо меняют итоговый вид игры. А я показал всего лишь минимальный набор, параметров у них гораздо больше. При должной сноровке, можно добиться впечатляющих результатов, а применять их можно, как в трёхмерных, так и 2D-играх.
Для большего эффекта, покажу так же сравнение со сценой без Linear Color Space, настроенного в начале.
С какой стороны Unity в представлении обычного игрока - догадаться не трудно.И да, рекомендую пользоваться эффектами пост-обработки в меру, иначе ваша игра будет выглядеть будто на фоне происходит ядерный взрыв — тот же Spec Ops иногда это очень наглядно показывает. :)
Напоследок хочу отметить, что существует ещё множество способов улучшить картинку и придать ей художественный вид, ведь не только технологии делают игры на Unreal Engine красивыми, но и люди, что стоят за созданием графики. Для создания красивых уровней можно настроить красивое освещение, использовать туман для объёма, добавить мелкие частицы пыли в воздух с помощью системы частиц и многое, многое другое.
Заголовок немного кликбейтный, а сама тема — избитая, и всё же о таких вещах многие начинающие разработчики попросту не знают, из-за чего дефолтные настройки графики просто не дают получить хорошую картинку, а у Unity с очередным инди-релизом увеличивается репутация движка с плохой графикой. Однако, меня радует, что с каждым годом общий визуальный уровень проектов на различных движках от независимых разработчиков только растёт, и я бы хотел тоже сделать небольшой вклад в это.
У меня же настолько глаз набит, что графику Анреала я вижу прям за версту, многие разрабы не могут покрутить эти рубильники убрать вырвиглазный блум с моунш блюром. В то же время, в юнити могу выкрутить графику аля Анреал, не понимаю такой бугурт в сторону Юнити, и обожествление Анреала. И там и там, есть как преимущества и недостатки.
Несколько лет назад, фу - унити, недоподелки, графика отстой. Сейчас - воо крутой анреал, там графа крутая, но то, что ваш унитаз. А по факту стандартные механники на блупринтах, где игра от игры - копипаста, и СТАНДАРТНЫЕ ВЫРВИГЛАЗНЫЕ ЭФФЕКТЫ, которые считают эталоном. НЕ ВСЕ, сразу скажу, НЕ ВСЕ Мало, очень мало ребят\команд\разработчиков, которые выкручивают рубильники постэффектов анреала.
Хоть я и работаю с юнити, Фу такими быть, давайте жить дружно.
И там и там, можно делать красиво, просто где-то какие-то инструменты легче и удобнее, где-то через заднее место реализовано. ред.
У тебя есть примеры картинок на Unity которые можно спутать с анрилом? Я тоже раньше утверждал что "юнити тоже может", пока не поспорил с одним товарищем. Мы перерыли интернет на тему различных интерьеров в реалтайме, анрил был лучше. Да что и гоорить, можно зайти в ассетстор и посмотреть что там продают под видом "фотореализм". Глаз видит что сделано на компе. В случае с анрилом глаз всё таки иногда обманывается думая что это фото. ред.
Из последнего, что ОЧЕНЬ сильно впечатлило. Выкрутить. Можно.
Так же про что значит "лучше"? На субъективный ваш взгляд? У каждого свой вкус. Меня лично раздражает сильный блум и моушнблюр. + еще несколько дефолтных (или нет) эффектов.
те или иные ассеты "фотореализма" практически всегда с обильным поливанием постобработки, и та том и на другом сторах. Обработка нужна, дабы картинка выглядела сочнее и с повышенным шансом ее купили. имхо ред.
Читайте также: