что такое пост эффекты в assassins creed
Пост-эффекты в мобильных играх
Большинство публикаций по графике для консолей и десктопов рассказывают о чем-то новом, а для мобильных платформ во главе угла всегда стоит оптимизация уже существующего.
Что касается пост-обработки — её волшебное действие на фотографии было открыто задолго до появления первых компьютеров, а её математический и алгоритмический базис, созданный для цифровой обработки изображений, удачно вписался в программируемый конвейер GPU.
Помимо того, что пост-эффекты (точнее — их не очень грамотное использование) являются предметом ненависти среди игроков, они также едва ли не единственный способ быстро и дешево «оживить» и «освежить» картинку. Насколько качественным получится это «оживление» и не обернется ли оно в результате «свежеванием», зависит по большей части от художников.
Слегка «освежеванный» скриншот War Robots.
Как уже было сказано выше, эта статья будет посвящена в основном оптимизации. Для тех кто не в теме — отличным вводным курсом будут книги из серии GPU Gems, первые три из которых доступны на сайте NVidia [1].
Рассматриваемые примеры реализованы на Unity, тем не менее методы оптимизации, описанные здесь, применимы к любой среде разработки.
Оптимальная архитектура пост-обработки
Существует два способа рендеринга пост-эффектов:
В то же время пакетный рендеринг заметно эффективнее, поскольку он экономит общее число обращений к памяти. Последнее наиболее актуально для мобильных платформ, на которых повышенная вычислительная нагрузка сопровождается повышенной же теплоотдачей (кто бы мог подумать). И даже если устройство сумеет выдать требуемую частоту кадров, вряд ли игроку будет комфортно играть, держа в руках горячий «кирпич».
Для наглядности приведу последовательную и пакетную схемы рендеринга пост-эффектов, используемых в War Robots.
Последовательный рендеринг: 8 чтений, 6 записей.
Пакетный рендеринг: 7 чтений, 5 записей.
Пакетный рендеринг для Unity реализован в модуле Post Processing Stack [2].
Последовательность применения пост-эффектов без изменения кода изменить невозможно (но и не нужно), а вот отдельные пост-эффекты отключить можно. Кроме того, в модуле интенсивно используется встроенный в Unity кэш ресурсов RenderTexture [3], так что в коде конкретного пост-эффекта, как правило, содержатся только инструкции по рендерингу.
Ресурсы же пост-эффект запрашивает непосредственно во время рендеринга, и освобождает их по его завершению. Это позволяет организовать повторное использование ресурсов в последующих пост-эффектах, поскольку кэш удаляет только те ресурсы, которые не были востребованы в течении последних нескольких кадров.
Финальный этап в пакетном рендеринге — композиционный эффект, который комбинирует результаты всех предшествующих шагов и рендерит их при помощи мультивариантного «убер-шейдера». В Unity3D такой шейдер можно сделать при помощи директив препроцессора #pragma multi_compile или #pragma shader_feature.
В целом, 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 revelations
я тоже скачал этоже заходи в assassin’s Creed Revelations (SP)
Для обычной игры выбираешь SP(Single player), ибо если у тебя не лицензия, то в мультиплеер всё равно играть не сможешь.
Немного глуповатый вопрос про Assassins Creed Revelations.
А ты меньше главные задания выполняй, собирай сундучки, отправляй учеников на задания, да и сам выполняй поручения и потом покупай недвижимость.
Скачай лучше прогу для бабла в играх,
и все твои муки закончатся.
всю часть прошел особо не заработал у меня есть прога могу скачать она взламывает все игры на прохождение на че угодно если чо обращайся
можно ли добить лежачего на xbox 360 в Assassin creed revelation что бы не мучился
По большей части, разработка игр — как строительство дома. Есть план, закладывается фундамент, потом каркас, и наконец, всё остальное устанавливается под этот каркас. Даже используемая терминология напоминает строительную. В этом контексте удаление чего-либо — то, чего мало кому хочется. Это как строить самый современный небоскрёб, но без нормальной вентиляции воздуха по какой-то причине. И когда проводится брейншторм по каким-то элементам, речь ведётся только о том, чтобы что-то добавить.
И пусть нет ничего плохого в том, чтобы рассматривать геймдизайн и разработку как строительство, я считаю, что лучше всего взглянуть на это как на высекание скульптуры, потому что, помимо всего вышеперечисленного, это и удаление чего-либо для создания чего-то цельного. В случае разработки игры — это удаление, изменение или упрощение элементов, чтобы сделать общий опыт лучше. Но подобные решения необходимо продумывать: речь не о том, чтобы убрать что угодно, а чтобы положительно повлиять на игру, удалив что-то.
Для примера возьмём Assassin’s Creed Revelations. Я говорил в статье про Brotherhood о том, как игре удалось стать настолько цельной. «Откровения» взяли всё то, что сделала предшественница (попутно добавив своё), но не достигли тех же результатов. Всё потому что игра не убрала или изменила те вещи, которые были сделаны для другого типа опыта, и хотя всё технически функционально и корректно, цельности не ощущается.
Прежде чем продолжу, хочу отметить некоторые нюансы.
Во-первых, судя по интервью разработчиков, Revelations сделали за 11 месяцев (я считаю это невероятным, особенно для игры с открытым миром), что означает жёсткий цикл разработки. Можно понять, что существовали риски, вырезая что-либо: не хватило бы времени протестировать.
Во-вторых, у меня, как анализирующего игру человека, есть преимущество — я вижу, как выглядит уже готовая игра. А сделать то же самое в самый разгар разработки проблематично.
Экономика. На мой взгляд, ни одна часть Assassin’s Creed вплоть до «Флага» не создала толково проработанную систему экономики. Во второй части она превращалась в поток генерации денег вплоть до момента, когда вам не о чем волноваться. Но это нормально, потому что вы выстраивали город с нуля, и ощущения его трансформации и развития были захватывающими.
Похожие проблемы были и в «Братстве Крови», только масштаб был больше: не какой-то маленький город, а целый Рим. А процесс усиления экономики — скупка зданий — сам по себе не интересен. Но с точки зрения привнесения Ренессанса в Рим и освобождения города от влияния Борджиа всё подходило под нужный контекст.
Однако в «Откровениях» вообще нет никакой веской причины заниматься скупкой магазинов. Стамбул расцветает, а не загнивает. Кроме того, сюжетно ассасины не в отстающих ролях — как раз наоборот, доминируют над пытающимися вернуться к власти тамплиерами. Это также конфликтует с заданным открытым миром, который скопировали из Brotherhood, где тамплиеры держат под контролем большую часть города, а вам нужно их освобождать и заново отстраивать лавки. Да вы и сами не особо захотите скупать магазины, так как это повысит известность, и в один момент тамплиеры могут попытаться отбить район.
Поэтому скупку магазинов надо было попросту убрать из игры. Достаточно просто держать их закрытыми, пока район не под контролем ассасинов. Да и саму экономику стоило бы сконцентрировать на базах ассасинов как дополнительный уровень системы контроля над территорией.
Говоря о контроле над территорией, было бы логично сделать иной баланс в начале игры по территориям между ассасинами и тамплиерами, и, может, даже позволить последним захватить пару-тройку районов. Просто чтобы показать, что они ранее тут всем заправляли, а теперь пытаются вернуть контроль.
В любом случае, всё это не переплетается с основным сюжетом, который больше про личную историю Эцио, а не войну за контроль над городом между ассасинами и тамплиерами, но это не критично. Нам дана установка, что делает Эцио как персонаж: помогает своим собратьям в городе, параллельно занимаясь своими делами, так что цикл контроля над районами не полностью в отрыве от сюжета. Необязательно связывать открытый мир и сюжет настолько тесно, как в Brotherhood; достаточно лишь объяснить, почему мы делаем то или иное.
Есть и другая механика: создание команды. Её наличие в «Братстве Крови» имеет основания, так как Эцио — один из немногих ассасинов в Риме, и он тратит на это время, обучая их и создавая команду. Также, с каждой уничтоженной башни Борджиа и освобождённым районом, добавлялся ещё один рекрут.
Но в «Откровениях» наличие этой механики оставляет вопросы, так как вы попадаете в город с уже функционирующей инфраструктурой ассасинов. В одной из первых миссий вы тренируетесь вместе с братьями и сестрами-ассасинами, также они присутствуют в нескольких основных миссиях. Ассасинов и так много. Но вам опять требуется зачем-то с нуля набирать команду. Более того, как и с экономикой, есть и «штраф» за участие в этом цикле: специальные миссии рекрутов. А если у вас нет места для них, доступа к данным миссиям не будет. Поэтому ходить по городу и нанимать учеников тоже нежелательно, так как у вас может не оказаться доступа ко всему контенту.
Revelations представила Защиту Базы, и она мне понравилась. Пусть не до конца разработана, но она логична, так как Эцио, будучи Наставником, приходится больше заниматься стратегией. Вы можете посчитать меня сумасшедшим, но было бы гораздо лучше убрать механику наёма ассасинов из «Откровений» и уделить больше внимания полировке механике Защиты и элементам, которые её окружают. Мета-игру по отправке ассасинов на различные миссии можно было бы оставить, но добавить больше связи с обороной или захватом баз. Интегрируй и отполируй эту механику — и её бы позитивно восприняли.
Могу привести несколько причин, почему. Во-первых, причастность к сюжету: Эцио в Стамбуле как гость, и он преследует свои цели. Разумеется, он помогает ассасинам, но в свободное время. И если в Brotherhood логично вызывать ассасинов в любой миссии, так как вся цель игры — в освобождении, то в Revelations странно звать их в любой момент, особенно когда отправляешься за цветами. Даже имея обёртку в виде Анимуса.
Во-вторых, и может, причина так себе, но почитайте форумы и различные обсуждения. Вы увидите, что привязанность у игроков к рекрутам в «Братстве Крови» гораздо выше, чем в «Откровениях, где нет причин вообще переживать за них. Хотя мне понравились миссии Мастера-Ассасина, где вам с рекрутами нужно охотиться на тамплиеров.
А теперь самое главное.
Элемент, который вредит «Откровениям» больше всего и который необходимо было вырезать для большей цельности и связности игры — это союзники: воры, наёмники, и цыганки (рескин куртизанок). Вы, наверное, скажете «воу, Стас, ты предлагаешь убрать наём ассасинов и всю механику союзников, перекочевавшую из Brotherhood, и считаешь это полезным?». Ну так вот, в контексте Revelations — да.
Так я подобрался к самой сути.
В «Откровениях» не так уж и много стороннего контента в плане миссий, и это нормально, особенно для игры, которую делали 11 месяцев, и в которую при этом ввели новые механики. Но у неё большой потенциал по созданию привлекательного опыта, где контент бы генерировался из взаимодействий между всеми различными системами. Просто взять захват базы тамплиеров: если нет доступа к Братству и союзникам, есть только вы, толпа и что при вас (по большей части, различные бомбы), можно найти много различных вариантов по выполнению задачи. Добавить ещё вариации — всё станет ещё лучше.
У Revelations есть все основы для структурного контента: цикл контроля территорий, захват и оборона баз, бомбы. Но они ограничены из-за скопированных из Brotherhood механик. И дело не только в их присутствии и противоречиях, которые они вызывают — даже при том, что их унаследовали, они отнимают то драгоценное время от разработки, которое можно было потратить на полировку того нового, что предлагают «Откровения».
Тем не менее, Assassin’s Creed Revelations — хорошая игра, и работающие там системы имеют смысл как собственно системы. Но связывая их, получается не то.
Связный опыт не определяется лишь тем, что добавлять или нет — дело и в том, что надо убрать. Удалив что-либо, можно добавить такого же положительного влияния на игру, как и добавляя что-либо. Может, вы не согласитесь с моими предложениями, что стоило бы убрать, но я надеюсь, что дал достаточно аргументов, чтобы показать наличие нестыковок, о которых нужно позаботиться.
Да вообще в целом, я считаю, полезно спрашивать самих себя во время разработки игр, нужно ли нам то или иное? Улучшает он опыт от игры или нет, и почему?
И на этой основе принимать наиболее подходящее решение — оставить, изменить, адаптировать, или просто убрать/заменить.
Путеводитель по игре Assassin’s Creed: Revelations
Уровень сложности Достижений: 5/10
Оффлайновые Достижения: 39
Онлайновые Достижения: 10
Примерное время получения 100%: 20+ часов + Время на получения Ранга 20.
Минимальное количество прохождений: 1
Глючные трофеи: Вроде нет.
Число трофеев, которые легко пропустить: 0
Читы отключают трофеи?: читов нет
Сразу соберите 30 Фрагментов Анимуса, дабы открыть сразу все Воспоминания, после возвращаемся на Остров Анимуса и идём к воротам. Это ужасно скучные и лишённые смысла уровни. Всего их пять. За каждое получаем по достижению.
Ну и на конец этого большого Шага 1, добиваем последовательности на 100%. По окончанию процедуры получаем Приятные воспоминания / Fond Memories
Ух, наконец мы закончили. Приступаем к финальному шагу.
Шаг 3. Финал.
Мультиплеер. Теперь то всё чуть легче, играем и получаем удовольствие, и так до 20 Ранга.
По получению Ранга 5 покупаем свою первую способность в магазине Абстерго.
Испытание: Набирайте предлагаемое количество тех, или иных действий. В основном пока будете набирать 20 Ранг наберёте точно.
После прохождения сюжетной линии для Крестоносца даётся одна деталь для смены костюма. Меняем и получаем Достижение.
Выиграйте одну сессию в кооперативе, в команде с другими чуваками, для получения ещё одной Ачивки.
Чем вы разнообразны, тем больше заслуг вы получите. Так же вы будете получать заслуги, в таблице рекордов по окончанию Матча, наберите 13 и достижение ваше, не стоит с ними заморачиваться.
В тренировочной Сессии получите бонус инкогнито.
Заходим в мултиплеер. Далее заходим в профиль, и там будут эмблемы, покровители и титулы. Поменяйте их и получите своё достижение.
Зарабатывая очки за бонусные действия и убийства вы точно наберёте свыше 2505 очков.
Выигрываем в каждом из режимов:
Охота
Розыск
Каждый за себя
Убийство
Сопровождение
Атака на артефакт
Захват артефактов
Захват сундуков
Порча
Тренировочный режим
По окончанию всех перечисленных действий получаем все сетевые достижения (Конечно не сразу, а по выполнению каждого из них) а затем и 100% в самом AC Revelations. Однако это не конец, и всё самое муторное только начинается.
Что такое пост эффекты в 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
Увеличиваем дальность прорисовки и разрешение теней Новая модификация для Assassin’s Creed 2 под названием Visual Fixup Mod позволяет увеличить дальность прорисовки объектов(LOD) и увеличить разрешение теней в 4 раза. В оригинале отрисовка объектов происходит очень близко игроку и низко полигональные модельки сильно режут глаз, а из-за того что тени низкого разрешения на дистанции их отображение выглядит ужасно.
После скачивания распакуйте архив в любое удобное для вас место.
Что бы задействовать мод,нужно каждый раз проделывать инструкции ниже:
Запустите AC2 и сверните его
Запустите AC2FM
Загрузив сохранение и начав игру нажимайте в ней следующие горячие клавиши:
F1-вернуть значение теней по-умолчанию(1024p)
F2-Улучшить разрешение теней до 4096p
F3-Увеличить дистанцию детализации зданий
Внимание!Если F3 вызвал у вас редкую проблему с производительностью, то советую вам понизить параметр мультисэмплинга. Также для лучшей четкости дальности советую вам выключить Пост-Эффекты в настройках графики.
Скриншоты использования мода:
Вы справились и не поленились улучшить своё восприятие от игры.Желаю всех хорошего прохождения и до скорых встреч)
Вопросы:
А)Меня забанят за использование данного софта?
В)Нет
А)Меняет ли мод дальности качества прорисовки NPC?
В)Нет
А)Нужно ли проделывать запуск мода каждый раз что бы задействовать его?
В)Да
Улучшаем стандартную графику Unity за несколько минут
Принято считать, что графика в движке Unity не сравнится с картинкой Unreal Engine. Но так ли это? Попробуем сегодня понять, почему проекты на Unreal выглядят лучше.
Один из секретов Unreal Engine — сразу после создания нового проекта в нём уже включены эффекты пост-обработки. Пост-эффекты обрабатывают финальное изображение игры перед выводом на экран, улучшая внешний вид игры. Даже плохие модели и текстуры иногда можно немного вытянуть правильно настроенными пост-эффектами.
В Unity тоже есть эффекты пост-обработки, но они не активируются при создании проекта, более того — их даже нет в самом движке и их нужно скачивать отдельно. Ну, на текущий момент.
Это можно сделать через Package Manager, набрав в поиск Post Processing. Устанавливаем найденный плагин и теперь мы можем пользоваться пост-эффектами в юнити. У меня он уже установлен, поэтому я перейду к настройке.
К слову, я добавил в проект ассеты скал и неба для демонстрации, все их можно загрузить на Unity AssetStore для вашей игры бесплатно. Сейчас можно видеть, как выглядит сцена без настройки:
Для того, чтобы настроить плагин, добавляем на объект с основной камерой компонент Post-Processing Layer, в нём задаём Layer на Everything (и заодно сглаживание, которое уберёт лесенки с краёв моделей).
Unity просит не ставить слой Default или Everything, но за год работы с пост-процессингом я не увидел никакой проблемы с производительностью из-за этого параметра.
Затем создаём новый пустой объект с компонентом Post-Process Volume, в котором включаем галочку Is Global, что будет означать, что он влияет на всю вашу сцену. Нажатием кнопки New создаём новый профиль с эффектами.
Новый объект создаётся исключительно для удобства работы.
А, и да, для игр на ПК стоит в Project Settings сменить Color Space с Gamma на Linear, это значительно улучшит общий вид игры, рекомендую почитать об этом в справке Unity, а может я даже сделаю отдельный материал по этой теме.
Возвращаемся к нашему объекту с Post Process Volume и сразу добавляем 4 новых эффекта:
Теперь настраиваем их по порядку. Начнём с Bloom. Для включения эффекта ставим галочку возле Intensity, а затем прибавляем значение для того, чтобы усилить действие эффекта.
Сразу можно заметить, что мой эффект огня на сцене, если его можно так назвать, преобразился и стал гораздо сочнее. Так же это повлияло на небо на заднем плане, создав небольшую «дымку» от него. Этот эффект очень хорошо подходит для визуальных эффектов вроде пуль, огня, неона и прочих источников освещения, он добавляет кинематографичности сцене. Играясь с его параметрами можно получить голливудскую картинку на бликах и не хуже, чем в Unreal Engine.
Ambient Occlusion даёт дополнительное затенение, имитируя скопление теней в выемках в реальном мире, только немного сильнее для художественного эффекта. После применения эффекта окружение приобретает глубину.
Color Grading позволяет применить к изображению игры дополнительную цветокоррекцию и набор параметров тут очень обширный. Подобным эффектом пользуются при пост-обработке фильмов и видеоклипов, что намекает на его немалый функционал. Например, можно добавить художественности сцене, добавив какой-то цветовой оттенок.
До и после применения цветокоррекции. Конечно, так сильно менять картинку не всегда стоит, скриншот для наглядности.
Vignette имитирует виньетку от объектива камеры. Этот эффект может добавить кинематографичности, хотя в кино он наоборот является нежелательным.
Разницу сложно заметить, но она есть. По краям изображения. Но на ощущения от игры может влиять довольно сильно.
Теперь можно сравнить картинку с исходной, отключив компонент Post-Process Layer на камере.
Сразу видно, что пост-эффекты, настроенные за несколько минут, неплохо меняют итоговый вид игры. А я показал всего лишь минимальный набор, параметров у них гораздо больше. При должной сноровке, можно добиться впечатляющих результатов, а применять их можно, как в трёхмерных, так и 2D-играх.
Для большего эффекта, покажу так же сравнение со сценой без Linear Color Space, настроенного в начале.
Напоследок хочу отметить, что существует ещё множество способов улучшить картинку и придать ей художественный вид, ведь не только технологии делают игры на Unreal Engine красивыми, но и люди, что стоят за созданием графики. Для создания красивых уровней можно настроить красивое освещение, использовать туман для объёма, добавить мелкие частицы пыли в воздух с помощью системы частиц и многое, многое другое.
Заголовок немного кликбейтный, а сама тема — избитая, и всё же о таких вещах многие начинающие разработчики попросту не знают, из-за чего дефолтные настройки графики просто не дают получить хорошую картинку, а у Unity с очередным инди-релизом увеличивается репутация движка с плохой графикой. Однако, меня радует, что с каждым годом общий визуальный уровень проектов на различных движках от независимых разработчиков только растёт, и я бы хотел тоже сделать небольшой вклад в это.
И там и там, можно делать красиво, просто где-то какие-то инструменты легче и удобнее, где-то через заднее место реализовано. ред.
У тебя есть примеры картинок на Unity которые можно спутать с анрилом? Я тоже раньше утверждал что «юнити тоже может», пока не поспорил с одним товарищем. Мы перерыли интернет на тему различных интерьеров в реалтайме, анрил был лучше. Да что и гоорить, можно зайти в ассетстор и посмотреть что там продают под видом «фотореализм». Глаз видит что сделано на компе. В случае с анрилом глаз всё таки иногда обманывается думая что это фото. ред.
Из последнего, что ОЧЕНЬ сильно впечатлило. Выкрутить. Можно.
Так же про что значит «лучше»? На субъективный ваш взгляд? У каждого свой вкус. Меня лично раздражает сильный блум и моушнблюр. + еще несколько дефолтных (или нет) эффектов.
те или иные ассеты «фотореализма» практически всегда с обильным поливанием постобработки, и та том и на другом сторах. Обработка нужна, дабы картинка выглядела сочнее и с повышенным шансом ее купили. имхо ред.