Как вытащить модель из Half-Life 2 и прочих игр на движке Source

Ниже приводится пошаговая инструкция по выдиранию моделек из игр на движке Source Engine (Half-Life 2, Portal, Counter-Strike Source etc.). Далее их можно будет использовать в Blender или другом 3D-редакторе.

Качаем Ultimate Source SDK v3 by Psycho-A. Нужна именно сборка от Psycho-A, стимовская не годится, ибо не имеет всего необходимого софта. Взять можно отсюда. Для скачивания придётся зарегистрироваться.

Из всего этого софта нам понадобятся:

0. GCFScape

1. MDL Decompiller

2. VTF Edit

// Если на комп установлена пиратка с изначально распакованным контентом — этот шаг можно пропустить

Запускаем GCFScape. Ищем gcf-архивы с модями и текстурами. Для Half-Life 2 это 'source models.gcf' и 'source materials.gcf', для эпизодов - 'episode two content.gcf', 'episode two materials.gcf', 'episodic 2007 shared.gcf' или что-то вроде того. В этих архивах нужно искать папки с названиями /models и /materials/models, содержимое которых распаковывать, куда больше нравится.

Модели

Игровые модели имеют формат mdl. Для декомпиляции оных используем MDL Decompiler. Настроек у программы очень мало: в Choose Model File выбрал файл в формате .mdl, в Choose Output Directory – папку, куда нужно сохранить декомпилированную модель, нажать кнопку Extract для декомпиляции.

На выходе получаем файл (чаще — кучку файлов) в формате .smd. Один из них (обычно самый большой и имеет слово reference в названии) — сама модель, остальные — отдельные анимации модели.

Чтобы всё это добро импортировать в Blender, нужно прикрутить к нему аддон Blender Source Tools.

Текстуры моделей

Текстуры имеют формат VTF (Valve Texture File). Не путаем с VMT – это текстовые файлы с описанием свойств материала).

Открываем их прогой VTF Edit, потом сохраняем в формат BMP. Доступны также JPG и PNG, но с экспортом в них у этой программы могут возникать проблемы, так что я обычно сохраняю в BMP с последующим преобразованием в PNG (GIMP в помощь). Сохраняем всё куда-нибудь на жёстком диске.

Добавляем модели и текстуры в Blender

Модель в Blender импортируется через File → Import → Source Engine (.smd, .vta, .vmx, .qc). Для простоты сортируем smd-файлы по размеру и выбираем самый здоровый (и со словом reference в названии — см. выше).

Материалы накладываются точно так же, как на любую другую модель:

Кстати, если выделить скелет и импортировать smd-файл с анимацией, то в Blender можно будет прокрутить и анимацию:

На этом всё! Буду рад дополнениям в комментариях.

Автор: Денис Скиба aka Mapper720

23.04.2017