На движке 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
Так как все файлы 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, несмотря на сумбурность вышеизложенного объяснения, и рассортировал по удобным папочкам. Двигаемся дальше.
Модели в игре представлены в виде файлов .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 появился в указанной папке.
С файлами SMD могут работать большинство 3D-редакторов после установки маленького плагина, но у Photoshop с этим проблемы, никакой информации о SMD-плагинах для PS в гугле я не нашел. Почесав репу, я пришел к выводу, что придется прибегнуть к весьма идиотскому методу — импортированию файла SMD в 3ds Max с установленным плагином и последующим экспортированием в формат 3DS.
Собственно, объяснять тут нечего. Открываем 3ds Max (я выбрал версию 9, так как он мне в общем-то не абсолютно не нужен и я выбрал самую легкую версию из числа поддерживаемых), жмем File -> Import, выбираем наш SMD файл, оставляем по дефолту все настройки в вылезших окнах, ничего не трогаем, жмем File -> Export, выбираем формат 3DS, сохраняем и… все! Модель наконец-то переконвертирована во вменяемый формат.
На этом шаге я зацикливаться совершенно не хочу, так как работа с 3D файлами в Photoshop — это совсем другая история и я лишь скажу каким образом можно поместить на холст нашу модель.
Создаем новый документ с удобными для вас габаритами и фоном, жмем 3D -> New layer from 3D file, выбираем нашу модель в формате 3DS и все, в общем-то готово.
Все текстуры в Source имеют формат VTF и для работы с ним необходим плагин к Photoshop, указанный в начале топика. Собственно, наложение VTF-текстуры на модель ничем не отличается от наложения любой другой текстуры на любую другую модель.
В появившемся окне выбора файла выбираем тип файла VTF и выбираем заранее припасенную текстурку (указано в шаге 1).
Наконец, мы получили модель в таком виде, в каком ее можно встретить в игре!
Так как после написания этого топика мне внезапно стало все лень, заявленная цель была достигнута абсолютно халтурно, поэтому модельки на изображении расположены весьма криво.
Вот такие дела. Теперь, если в голову придет идея с использованием моделей из игры, я не буду прибегать к Garry's Mod и гринскрину, все гораздо проще. Надеюсь, информация в топике пойдет кому-нибудь на пользу.
И да простит меня читатель за то, что я не стал зацикливаться на необходимом софте — список есть, ссылки есть, по ссылкам есть инструкции по установке.
Спасибо за внимание :)
При распространении материала обязательна ссылка на автора (Понкин Дмитрий) и сохранение оригинальной лицензии CC-BY-SA 3.0
Предисловие
В качестве цели я задал себе импортирование некоторых моделей из 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).
Наконец, мы получили модель в таком виде, в каком ее можно встретить в игре!
Заключение
Так как после написания этого топика мне внезапно стало все лень, заявленная цель была достигнута абсолютно халтурно, поэтому модельки на изображении расположены весьма криво.
Вот такие дела. Теперь, если в голову придет идея с использованием моделей из игры, я не буду прибегать к Garry's Mod и гринскрину, все гораздо проще. Надеюсь, информация в топике пойдет кому-нибудь на пользу.
И да простит меня читатель за то, что я не стал зацикливаться на необходимом софте — список есть, ссылки есть, по ссылкам есть инструкции по установке.
Спасибо за внимание :)
При распространении материала обязательна ссылка на автора (Понкин Дмитрий) и сохранение оригинальной лицензии CC-BY-SA 3.0