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

Недавно наткнулся на информацию о том, что существует форк известного эмулятора Sony Playstation 1 — Duckstation, в котором энтузиасты сделали возможность «выдёргивать» трёхмерную геометрическую информацию и текстуры в виде obj файла, пригодного для импортирования в большое количество трёхмерных редакторов.
Краткий обзор эмулятора
В сети много статей об этой чудесной программе, работающей на Windows, Linux и Android, и не хотелось бы повторяться. Но о нескольких особенностях расскажу.
Во-первых, это хорошо сделанная программа. Быстрая, удобная, с продуманным интерфейсом и широченными возможностями для настройки эмуляции: изображения, звука, постобработки и прочего.

Если вы использовали эмулятор EPSXE и его последователей, знаете, что их архитектура построена на базе ядра и плагинов. У дакстейшн иначе, это комбайн, в котором уже всё готово к работе. Для игры потребуется физический CD или образ диска и дамп BIOS приставки. По юридическим причинам эмуляторы не поставляют эти дампы, но они без затруднений находятся в Сети. Их нужно скопировать в директорию в общей директории файлов программы.
Во-вторых, эмулятор сделан с вниманием и любовью к игроку. Существует множество приятных фич, типа автоматического определения USB геймпадов и назначения кнопок. Это относительно недавнее нововведение. При запуске новой игры эмулятор автоматически создаст и подключит образ карты памяти для сохранения. Также есть слоты мгновенного сохранения и автоматического сохранения при закрытии программы.
В-третьих, есть возможность ускорения фреймрейта для прокрутки скучных мест или долгих внутриигровых механик. Но самое интересное, что есть ещё и обратная перемотка, позволяющая вернуться в прошлое на некоторое время и переиграть. (По умолчанию она деактивирована). Например, вы совершали неверное действие в игре и погибли, вернитесь назад во времени и переиграйте. Красота.
В-четвёртых, в эмуляторе поддерживается технология PGXP, которая предназначена для исправления особенностей геометрических преобразований оригинальной PS1. А конкретно — устраняет дрожание вершин и исправляет искажения проекции текстур на наклонные плоскости.


Тут нужно сделать маленькую ремарку. Мне нравится играть в нативном разрешении 320х240 без фильтрации и сглаживания. Чтобы вершины тряслись, и тексель с кулак. Затем густо обмазано шейдерами постобработки. NTSC добавляет ту неуловимую мыльность изображения и краевые эффекты, а наложенная сверху сетка люминофора делает погружение в счастливые воспоминания из детства.

Ещё примеры






Дакстейшн хорош тем, что позволяет настроить качество графики так, что некоторые игры вполне достигают по качеству графики компьютерные игры той поры. Всё на ваш вкус.
Free camera
Забавная возможность вращать и смещать внутриигровую камеру. Это позволяет изучать недоступные локации и обнаруживать некоторые графические хитрости игроделов времён консоли.

Игра Tomb raider 2, мне очень хотелось узнать, что там повыше стеклянного потолка в уровне «Логово Бартолли» и спустя много лет оказалось, что там нет ничего особого. Но сама возможность многого стоила. Также можно посмотреть, что в шкафу в доме Лары Крофт, в который никаким образом нельзя зайти в тренировочном режиме. Оказалось, что там нет ничего, только темнота. Даже нет объёма, который появляется в последнем уровне игры, происходящем в той же локации.
В Ace Combat 2 выяснилось, что звёзды в ночных уровнях по своей сути — небольшого размера «коробка», привязанная к камере.


Вот ещё занимательный пример. Я поставил игру на паузу в момент пуска ракеты. Приловчившись, можно посмотреть самолёт врага, летящую ракету с разных сторон. Удивительно, что второстепенные модели так проработаны. (Тем, кто видит их впервые, может показаться, что графика всратая и примитивная, но не забывайте, что это уровень конца девяностых годов, когда всё только развивалось, а сама PS1 имела смехотворные, по сегодняшним меркам, вычислительные возможности).


Кстати, управляя камерой, у вас не получится полетать над локациями, так как зона отрисовки зависит от положения камеры в игре, а не от смещённого эмулятором положения. Например, если перевернуть камеру на 180 градусов и посмотреть на модель самолёта игрока спереди, выяснится, что тогда экономили каждый треугольник, и всё невидимое просто отсутствует. Нет воздухозаборников, нет дна и частично носа. Подчеркну, что речь идёт о модели, которая в игре наблюдается только со стороны хвоста в режиме отрисовки самолёта. А не та модель, что видна на реплеях.

Инструмент freecam можно использовать для получения странных, абстрактных изображений.


3D screenshot
Ну и самая мякотка, ради чего всё затевалось. Как уже говорил, энтузиаст сделал форк эмулятора, в котором есть инструмент снятия трёхмерного скриншота, рассмотрим его поподробнее. Сначала нужно его скачать.
Внимание, сделайте бэкап директории файлов и настроек эмулятора, потому что форк будет использовать ту же директорию для записи файлов, сохранений и настроек, и у версий возникнут конфликты!
Запустите форк, найдите в главном меню программы 3D Screenshot ‣ Show 3D Screenshotter. Откроется окно с настройками.
Скриншот не создаётся мгновенно, желательно, чтобы камера в игре была неподвижна, либо игра стояла на паузе.

Texture mode указывает, как программа запишет текстуры на диск. Я пробовал все три опции, и если честно не понял особой разницы, так как в любом случае на выходе будут странновато выглядящие текстуры 256х256 пикселей.


Опция disable culling рекомендована для большинства игр подсказкой в самой программе (которая показывается при наведении на знак вопроса прямо в меню).
Use PGXP — позволяет использовать технологию, улучшающую геометрию трёхмерных моделей, галка будет доступна, если вы активируете PGXP в настройках графики эмулятора.
2D Mode позволяет захватывать плоские интерфейсные элементы, но при этом сильно портится геометрия объектов. Интересная настройка, стоит изучить.

3D screenshot можно использовать вместе с Freecam.

3D скриншоты программа складывает в директорию ~/.local/share/duckstation/screenshots_3d в виде .obj. .mtl файлов и набора текстур в *.png. При импорте в blender рекомендую ставить масштаб 0.01
Все изображения в этом разделе — скриншоты из программы blender. Опытным путём удалось выяснить, что через obj файлы передаётся информация единым мешем, разделённым на отдельные несвязанные треугольники. Если вы захотите напечатать модели, вам придётся их доработать. Слить вершины, отделить объекты друг от друга. Материалы, как я понял, назначаются в зависимости от используемой текстуры. Одна модель может содержать множество материалов, которые ссылаются на текстуры. Карты прозрачности в некоторых играх передаются корректно, в других нет.
Tomb raider
Снимается без искажений и почти всегда без поворота, модели ориентированы правильно.

Я старался каждый снимок проверять не только в текстурном режиме, но и в режиме отображения цветов вершин (vertex color), в те времена это был мощный инструмент для создания эффектов освещения и цвета материалов.

Обратите внимание, что на кристалле сохранения запечатлён фрагмент буфера кадра из самой игры.



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

Вот как освещение получается из текстурных карт (albedo) и цвета вершин (vertex color).

Tomb raider II
Мне показалось занятным, что небо расположено весьма близко к модели персонажа. И ещё примечательно, что сзади в области затылка имеется дополнительный участок неба. Видимо, в этом был какой-то смысл.

Ещё удивила дальность прорисовки локаций.



Die Hard trilogy
Наконец-то стало понятно, как они сделали эффект горящих букв в заставке. Проще простого, надпись — это отверстия в модели, через которые видна анимированная текстура огня.

Геометрия уровня снимается с некоторым искажением перекоса. При желании это исправляется модификатором Skew и поворотом.


Dino crisis
Благодаря умелому подходу разработчиков и камерности локаций в игре удалось сделать детализированные модели персонажей и проработанное окружение. В отличие от игр серии Resident evil тут честное 3Д.

Активно и умело используется цвет вершин.

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

Небо располагается на приличном отдалении от камеры и сцены.


Biohazard (Resident evil 1)
Как и ожидал, снимается только трёхмерная часть графики: персонажи, монстры, интерактивные объекты. Вот, на примере сцены в столовой. Обратите внимание на герб, который можно извлечь и забрать с собой.


Примечательно, в сцене с зомбаком и обезглавленным членом команды, в области таза модели можно найти модель обоймы для пистолета. То есть это говорит о том, что при желании можно просканировать все экраны и найти что-то интересное, оставленное случайно или какие-то пасхалки. Исследователи игр, ваш шанс!


Пример того, как работает 2D-режим. Меню снимается послойно, а трёхмерная модель рассыпается на треугольники.

Порадовала детализация модели ножа. Вообще, надо сказать, что из-за пререндереных задников у разработчиков был некоторый запас поликаунта, было где разгуляться.

Driver

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


При этом игра показывала неплохой FPS и дальность прорисовки при огромном городе.
Syphon filter

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


Хочу отметить умелое использование вертексного цвета для имитации освещения.

Twisted metal 2
Порадовала дальность прорисовки локаций и очень умелое использование LOD (моделей с изменяемой степенью детализации). Я никогда не задумывался, насколько эта игра технически продвинутая. Именно благодаря использованию LOD получилось добиться отличной производительности. У некоторых крупных моделей я насчитал около пяти вариантов детализации.


Вы только посмотрите, насколько гигантский уровень, и это всё находилось в памяти приставки, это не склейка! Башня чуть ли не в реальный размер нарисована.

Небо располагается на приличном отдалении от модели машины, видно, что градиент сделан вертексным цветом.

Silent hill
Тут всё хорошо, снимается без искажений.

На ночных сценах с фонариком видно, как распространяется освещение.


Многочисленные квадраты — это эффект расходящихся кругов воды от капель дождя.
Krazy Ivan
Эту игру я особенно люблю, потому что в детстве у меня было мало игр. Она была одним из лицензионных дисков, и я её прошёл многократно. Приближался к моделям врагов, пытался рассмотреть детали вблизи.


Радостно, что сегодня я могу это сделать в своём любимом 3D-редакторе, вдумчиво посмотреть с разных сторон.

Вертексный цвет также активно используется для эффектов освещения и раскраски. Psygnosis умели делать красиво. Правда, не всегда умели сделать интересно...

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

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

Как бы тепло я к ней ни относился, сейчас видны огромные недостатки геймплея — шаблонность и дисбаланс, можно проходить всех боссов одним способом, атакуя в лоб максимально плотно, и они уничтожаются меньше, чем за минуту. Всю игру можно пролететь довольно быстро.
Один из нелепых способов разнообразить игру является двухминутный таймер, если он доходил до нуля, то почему-то прилетала копия самого протагониста, названная Darkknight. Это никак не объясняется, просто сражайся с самим собой :)

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

Заключение
Надеюсь, что вам понравилось. Возможно, кто-то проведёт отлично время, ковыряясь во всём этом великолепии так же, как и я. Пишите, если что-то найдётся интересное.
© 2026 ООО «МТ ФИНАНС»

