Графический эффект PS1-игр — в чём его особенность, и как воссоздать на UE4

Небольшой практический туториал.

Сейчас инди-разработчики всё чаще используют в своих проектах стиль игр с PS1. В первую очередь это касается особенностей графики, которые появились вследствие технических ограничений. Тем не менее именно это создавало самобытный визуальный стиль. Можно найти немало примеров подобных современных инди-проектов: Paratopic, сборник Haunted PS1 Demo Disc, в который входит 17 демоверсий, Night of the Consumers, Scary Tales Vol. 1 и многие другие.

Разработчик Мурад Бакхали в своём блоге опубликовал туториал, в котором рассказал, как на движке Unreal Engine 4 воссоздать эффект, имитирующий стиль PS1-игр. По словам автора, самое главное — это эффект дёргающихся вершин у моделей, который возникает при движении камеры или самих объектов. Мы выбрали из текста главное.

Такой эффект подёргивания связан с ограничениями железа PS1: консоль не могла свободно передвигать вершины полигонов, поэтому они привязывались к конкретным точкам в 3D-пространстве. Когда камера или сам объект передвигались, вслед за ними на экране передвигались и полигоны.

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

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

Чтобы создать новую коллекцию параметров, нужно в контент-браузере перейти на Materials & Textures > Material Parameter Collection
Чтобы создать новую коллекцию параметров, нужно в контент-браузере перейти на Materials & Textures > Material Parameter Collection
Затем нужно добавить два скалярных параметра: Global_PSXEffect_3dGridCellSize и Global_PSXEffect_PixelizationAmount. Потом нужно сохранить и закрыть окно
Затем нужно добавить два скалярных параметра: Global_PSXEffect_3dGridCellSize и Global_PSXEffect_PixelizationAmount. Потом нужно сохранить и закрыть окно

Второй шаг — создание функции материала. Функция PSXEffect_Function используется для смещения вершин и создания эффекта подёргивания. Функция также пикселизирует UV-данные — нужно лишь подключить нод Texture Sample, чтобы получить пикселизированную текстуру.

PSXEffect_Function
PSXEffect_Function

Обратите внимание, что при этом использовались ранее созданные параметры.

Графический эффект PS1-игр — в чём его особенность, и как воссоздать на UE4
Графический эффект PS1-игр — в чём его особенность, и как воссоздать на UE4

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

Наглядный пример этого эффекта. Можно изменять размер клеток в сетке, что позволяет усилить или снизить его силу

Третий шаг — добавление функции PSXEffect_Function к материалам. Это легко сделать — нужно нажать на редактор материала и ввести название функции.

Графический эффект PS1-игр — в чём его особенность, и как воссоздать на UE4

В результате должен получиться эффект подёргивания, у которого можно настраивать не только его силу, но и степень пикселизации текстур.

Итоговый результат

В заключение автор прикрепил ссылку на собственный репозиторий на GitHub, в котором содержатся все его наработки по этому эффекту.

103103
109 комментариев

Комментарий недоступен

64

Вынужден согласиться. Хоть этот закос "под ретро" и может порождать интересные результыт, для многих он, к сожалению выступает в роли костыля, позволяющего прорабатывать графическую стилистику халтурно и абы как. Играю сейчас в Amid Evil, и не могу отделаться от ощущения, что тамошняя графика была бы только лучше без пиксельных эффектов (которые ещё и не то чтобы хорошо сделаны)

А уж как можно скучать по дрожащим вершинам, это вовсе в голове не укладывается

11

Комментарий недоступен

11

Это просто одна из форм стилизаций, чем больше их будет, тем лучше, не все же на йоба фотореализм смотреть. Как в живописи в зависимости от художественных инструментов картина будет выглядеть по-разному, только в случае компьютерной графики таким инструментом могут выступать особенности старого железа. Как и пиксель арт, стиль пс1 накладывает на художника некоторые ограничения, которые, как говорится, порождают креативность.

8

Искусство - это форма самовыражения, оно не может быть "неправильным". Если эффект "подергивания" будет передавать замысел автора, эмоции, ощущения - то его использование оправдано на 100%. Чуть ниже скинули трейлер инди-хоррора - выглядит супер жутко и не в последнюю очередь благодаря стилистике ps1.

Ну и чтобы совсем уж порвать твои шаблоны, скажу - в моем детстве не было ps1, и меня этот эффект дико бесил, когда проходил какие-то игры в эмуляторах. Что было в моем детстве так это угловатое 3d (00-ые), а оно мне никогда не нравилось. Зато обожаю пиксель арт, которого опять же, в моем детстве не было. Это к твоему посылу о том, что все это "глупая настольгия" (хотя непонятно каким боком тебя это задевает).

7

“Whatever you now find weird, ugly, uncomfortable and nasty about a new medium will surely become its signature. CD distortion, the jitteriness of digital video, the crap sound of 8-bit - all of these will be cherished and emulated as soon as they can be avoided. It’s the sound of failure: so much modern art is the sound of things going out of control, of a medium pushing to its limits and breaking apart. The distorted guitar sound is the sound of something too loud for the medium supposed to carry it. The blues singer with the cracked voice is the sound of an emotional cry too powerful for the throat that releases it. The excitement of grainy film, of bleached-out black and white, is the excitement of witnessing events too momentous for the medium assigned to record them.”

7

Комментарий недоступен

4