Как стать автором
Обновить

Импортируем модели из Source 2009 в Photoshop Extended

Время на прочтение4 мин
Количество просмотров4K
На движке Source, который за свою историю обновлялся бесчисленное количество раз, компания Valve разработала множество чудеснейших игр, в числе которых Team Fortress 2, Left 4 Dead и Portal. Не первый год пользуясь версиями Photoshop CS4-CS5 Extended, о возможности работы с 3D объектами в этих версиях я узнал только совсем недавно. Разумеется, руки зачесались и хотелось срочно опробовать эту диковинную технологию, но делать алюминиевые банки и абстракции с использованием базовых примитивов мне совсем не хотелось. Мне хотелось получить возможность творить фан-арт с использованием непосредственно моделей из игр. Об этом чудесном геморроидальном квесте я расскажу под катом.

Предисловие


В качестве цели я задал себе импортирование некоторых моделей из Team Fortress 2 в Photoshop, а если быть чуточку конкретнее, то цель моя заключалась в том, что бы получить полноценные текстурированные 3D слои аксессуаров демопана, которого вы можете наблюдать в самом начале топика, что бы налепить их на официальное изображение от VALVe, где изображены все классы в игре. Забавы ради.

Еще чуточку предисловия


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

Подготовка


Для процедуры потребуется следующий софт:
Adobe Photoshop CS4 (и выше) Extended
VTF Plug-In for Photoshop
Autodesk 3ds Max 9 (и выше)
3ds Max SMD Importer
Notepad++
GCFScape
Source SDK + Source SDK Base 2007 (Загружаем из Steam)
MDL Decompiler
Team Fortress 2

Шаг 1: Добываем файлы моделей из игры


Так как все файлы Team Fortress 2 запакованы в GCF-контейнеры, то нам понадобится их распаковать очень удобной утилитой GCFScape. Проведя минут пятнадцать в поисках папки с моделями, которая раньше была в team fortress 2 content.gcf, я додумался заглянуть в team fortress 2 materials.gcf, в котором раньше находились только текстуры.

Навигация в GCF-файле с помощью GCFScape — одно удовольствие. Модели оружия надо искать в tf\models\weapons\c_models, модели шапок в tf\models\player\items. Модели в Source состоят обычно из шести файлов (образец слева), они все нам нужны. Забегу вперед, что бы не запутать читателя: разумеется, нам нужны и текстуры. Ищем нужные файлы текстур (*.vmt + *.vtf) в \tf\materials\models, имя обычно идентично имени модели.

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

Шаг 2: Декомпилируем модели из игры


Модели в игре представлены в виде файлов .mdl и пяти сопутствующих файлов, назначение которых я не знаю и знать не хочу. Работать с этим форматом невозможно, поэтому его необходимо декомпилировать в формат SMD (Source Model). С этим нам поможет невероятно кривая утилита MDL Decompiler, последняя версия которой датируется 2005 годом.

Начнем с ее установки. По словам автора, исполняемый файл надо закинуть в папку bin в папке Source SDK (steam\steamapps\%имя аккаунта%\sourcesdk), но если следовать данной инструкции, то при запуске утилита крашится. Методом тыка было выяснено, что она прекрасно запускается из папки bin\ep1\bin.

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

Сначала над файлами .mdl нужно немного поколдовать. Открываем файл в Notepad++, заменяем пятый символ на запятую и сохраняемся. Почему и зачем это нужно, остается только догадываться.



Теперь уж точно можно декомпилировать. Перед декомпиляцией необходимо снять галку с «Use Steam file access», иначе нас будет ждать краш. Указав все необходимые данные, жмем Extract — вуаля, файл SMD появился в указанной папке.

Шаг 3: Конвертируем декомпилированные модели


С файлами SMD могут работать большинство 3D-редакторов после установки маленького плагина, но у Photoshop с этим проблемы, никакой информации о SMD-плагинах для PS в гугле я не нашел. Почесав репу, я пришел к выводу, что придется прибегнуть к весьма идиотскому методу — импортированию файла SMD в 3ds Max с установленным плагином и последующим экспортированием в формат 3DS.

Собственно, объяснять тут нечего. Открываем 3ds Max (я выбрал версию 9, так как он мне в общем-то не абсолютно не нужен и я выбрал самую легкую версию из числа поддерживаемых), жмем File -> Import, выбираем наш SMD файл, оставляем по дефолту все настройки в вылезших окнах, ничего не трогаем, жмем File -> Export, выбираем формат 3DS, сохраняем и… все! Модель наконец-то переконвертирована во вменяемый формат.

Шаг 4: Импортируем модель в Photoshop


На этом шаге я зацикливаться совершенно не хочу, так как работа с 3D файлами в Photoshop — это совсем другая история и я лишь скажу каким образом можно поместить на холст нашу модель.

Создаем новый документ с удобными для вас габаритами и фоном, жмем 3D -> New layer from 3D file, выбираем нашу модель в формате 3DS и все, в общем-то готово.

Шаг 5: Накладываем дефолтную текстуру


Все текстуры в Source имеют формат VTF и для работы с ним необходим плагин к Photoshop, указанный в начале топика. Собственно, наложение VTF-текстуры на модель ничем не отличается от наложения любой другой текстуры на любую другую модель.



В появившемся окне выбора файла выбираем тип файла VTF и выбираем заранее припасенную текстурку (указано в шаге 1).

Наконец, мы получили модель в таком виде, в каком ее можно встретить в игре!

image

Заключение


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

image

Вот такие дела. Теперь, если в голову придет идея с использованием моделей из игры, я не буду прибегать к Garry's Mod и гринскрину, все гораздо проще. Надеюсь, информация в топике пойдет кому-нибудь на пользу.




И да простит меня читатель за то, что я не стал зацикливаться на необходимом софте — список есть, ссылки есть, по ссылкам есть инструкции по установке.
Спасибо за внимание :)




image При распространении материала обязательна ссылка на автора (Понкин Дмитрий) и сохранение оригинальной лицензии CC-BY-SA 3.0
Теги:
Хабы:
Всего голосов 31: ↑24 и ↓7+17
Комментарии22

Публикации

Истории

Работа

Unity разработчик
10 вакансий

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань