О сайте
  Новости сайта
  Почитать
  Утилиты
 
  Help Blitz3D
 
   

 

 

 

 

 

 

 

 

 

Импорт моделей из Half-Life2 в 3D Studio Max

Зомби

Иногда нужно быстро достать где-нибудь анимированную модель для экспериментов, а делать её самостоятельно или не хочется или опыта не хватает, или ещё что-нибудь мешает. В таком случае можно за каких-то 5-10 минут достать уже готовую очень качественную модель из игры Half-Life2 или подобной на движке Source (Half-Life Episode One, Sin, Dark Messiah и т.п.). Причём каждая модель, будь то монстр или оружие, иногда содержит десятки разнообразных анимаций на все случаи жизни (например, гоблин из Dark Messiah имеет более 400 анимаций различных вариантов движений, падений, нападений и прочего, и все очень качественные). Так что выбрать есть из чего.

Сразу отвечу тем, кто бросится защищать авторские права и т.п. Я предлагаю брать модели и текстуры не для коммерческого использования, а чисто для опытов, чтобы сразу было видно, что получается, и как это сделано.А если Valve волнует нарушение авторских прав, так пусть защищают лучше. А нам будет гораздо интереснее, чем заменять модели разными кубиками и шариками. Кстати, еще во времёна Спектрума поощрялось изучать чужие программы с целью развития собственного опыта. Те товарищи, которые забили магазины и рынки своими поделками на основе этой отличной игры, нанесли ей гораздо больший ущерб, как материальный, так и моральный. Наша цель - изучение, т.к. для конкретной игры всё-равно придется делать и собственные модели, разве что текстуры можно использовать. (хотя из таких отличных моделей можно и мультфильм не хуже "Шрека" сделать .

Итак, приступим.
Нам понадобится несколько программ:

1) MDL-декомпилер, который разложит один файл в формате mdl из папки с игрой на несколько файлов в формате smd, каждый из которых содержит одну модель или одну анимацию.

2) Плагин для Макса, с помощью которого мы сможем загрузить в Макс модель в формате smd. Работает в Максе версий 6, 7, 8. В 5-й и 9-й не работает.

3) VTF Explorer - дополнительную программу для извлечения текстур. В игре они хранятся в формате vtf, а нам нужно преобразовать их в нормальный формат bmp или tga или другой. Выводит уменьшенные изображения в правой части.

4) Плагин к Фотошопу (вместо VTF Explorer). Позволяет загружать текстуры в формате vtf непосредственно в Фотошоп, а также сохранять в этом формате. Из недостатков (в отличие от VTF Explorer) отмечу только невозможность предпросмотра при выборе открываемого файла, т.к. только по названиям трудно ориентироваться. Незаменим, если Вам нужно исправить и снова сохранить текстуру. Проверен на версиях 8 (CS и CS2)- работает нормально.

Нужно скачать все эти программы, благо размера они не большого. Установки они не требуют - просто распакуйте архивы. Файл smdimp.dli из папки с плагином для Макса скопируйте в папку 3DS Max/plugins. Также требуется установленная игра Half-Life2 - из папки игры мы будем брать модели. Мы будем "издеваться" над многострадальным зомби.

ВНИМАНИЮ ПОЛЬЗОВАТЕЛЕЙ STEAM!

Если игра лицензионная и защищена программой Steam, то она хранит все файлы в папке наподобие C:\Program Files\Steam\SteamApps в странных GCF-псевдоархивах, которые можно открыть программой GCF-Scape, (для её работы нужен NET Framework 1.1).Причём, распаковывать нужно не только mdl-файлы, но и всё, что относится к нужной модели. Все (около 7) полученные файлы нужно сложить в одну папку. Модели Half-Life2 лежат в архиве source models.gcf, а текстуры - source materials.gcf. Вот список нужных файлов для нашего зомби:
Classic.dx80.vtx - это не текстура
Classic.dx90.vtx - тоже не текстура, а не понятно что.
Classic.jpg -просто картинка с изображением модели, чтобы видеть, что за модель, если их много в 1 папке.
Classic.mdl - модель
Classic.phy - тоже не всегда присутствует, необязателен для декомпиляции, но без него не получить физ. оболочку (если в игре применяется физика, то она пригодится)
Classic.sw.vtx
Classic.vvd

Потом всё, как описано ниже.

Шаг 1: ДОСТАЁМ МОДЕЛЬ

1. Создайте папку, в которую будете сохранять всё нужное, т.к. MDL-декомпилер не умеет создавать папки самостоятельно и Вам нужно об этом позаботиться заранее, иначе получите сообщение об ошибке. Назовем её, например, Zombie.

2. Запускаем программу MDL-декомпилер, и отключаем все галочки. В строке Choose Output Directory выбираем или вписываем нашу папку Zombie, куда мы будем сохранять модель. В строке Choose Model File нужно указать путь к файлу mdl. Выбираем (папка игры)/hl2/models/Zombie/classic.mdl.

3. Нажимаем Extract и в случае появления разных окошек жмём Ok. Теперь можно закрыть программу. Если Вы теперь посмотрите в папку Zombie, то увидите там кучу файлов с расширением smd.

Шаг 2: ИЗВЛЕКАЕМ ТЕКСТУРУ

1. Запустите программу VTF Explorer. Здесь выберите папку с игрой, а в ней hl2/materials. Вы видите кучу вложенных папок с текстурами. Если Вы выберете любую из них, то справа увидите уменьшенные изображения этих текстур.

2. Раскройте папку models (ту, что вложена в materials), а в ней найдите папку Zombie Classic. Когда Вы её выберете, то справа увидите две текстуры.

3. Нажмите на первую текстуру, чтобы выбрать её и на кнопку Save As...В раскрывшемся списке выберите формат tga, а затем нашу папку Zombie, куда мы сохраняли на первом этапе.

Примечание: вторая (синяя текстура) служит для создания рельефа (bump или dot3 в Blitz-е). Её можно не сохранять, т.к. плагин при загрузке её не потребует, хотя потом её можно наложить в Максе (но при экспорте в b3d будут проблемы, т.к. тут не всё так просто). Короче, если хотите потом поэкспериментировать, то сохраняйте, а пока она не нужна.

Шаг 3: ЗАГРУЖАЕМ В 3DS MAX

1. Сначала, конечно, запустите сам Макс (перед этим нужно бросить плагин в папку 3DSMax/plugins ).

2. Выбираем File/Import и в списке типов файла находим Half-Life2 SMD (если плагин воткнули, куда надо. Из нашей папки Zombie выбираем файл Zombie_reference.smd, т.е. саму модель. Вообще, любая модель имеет в назнании файла слово reference и сам файл по размеру больше других, в мелких обычно только анимация, да и названия у них в тему! Жмём "Открыть".

3. Появляется окошко плагина с дополнительными опциями. Ставим галочки и жмём Ok.

Через несколько секунд Вы увидите зомби в окнах Макса. Учтите, что если Вы сохраняли текстуру не в формате tga, то появится еще окно, где нужно выбрать файл текстуры (в другом формате Макс их не обнаружит всего-навсего), поэтому лучше всё-таки сохранять в формате tga - меньше проблем, особенно, если текстур много. Они тогда сами правильно наложатся. А в некоторых моделях их может быть и десяток, и Вам пришлось бы методом научного тыканья подбирать порядок их загрузки (а может, кому интересно, когда текстура одежды ложится на лицо). Тем более, Blitz тоже прекрасно понимает формат tga.

Шаг 4: ЗАГРУЖАЕМ АНИМАЦИЮ

1. Здесь всё также. ПОСЛЕ того, как мы загрузили модель, повторяем всё, как на предыдущем этапе, т.е. File/Import, только выбираем другой файл (размером поменьше, да и название говорит само за себя), например idle01.smd (стоит и покачивается) или attackA.smd (бьёт правой рукой). Если Вы теперь запустите воспроизведение анимации в Максе, то сами всё увидите!

СОВЕТ: Лучше сначала по текстуре найти нужную модель (всё-таки нагляднее) в материалах, а потом уже искать модель mdl с таким же названием. Названия обычно одинаковые или отличаются незначительно - запутаться трудно.

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

Как потом экспортировать эту модель вместе с анимацией в Blitz3D, читайте в моей статье "Экспорт скелетной анимации" в разделе Статьи. Если будете сохранять в другую папку, не забудьте скопировать туда текстуры!

 

 
Hosted by uCoz