Начнём...
В этом разделе Руководства я расскажу о том, как извлечь из War'а нужную модель со всеми текстурами при помощи Warcraft 3 Viewer. Опытные моделисты могут пропустить этот раздел.
Итак, Warcraft 3 Viewer - особая программа, позволяющая просматривать mpq-файлы, файлы моделей, изображения в форматах jpg, tga,bmp,blp, извлекать модели и конвертировать изображения в различные форматы. Эту замечательную утилиту можно скачать, к примеру, здесь.
Прежде всего, запустим Warcraft 3 Viewer. Затем нам нужно открыть тот файл, от-куда мы собираемся извлекать нужную модель. В War'е модели хранятся в файлах с расширением MPQ. Нас будут интересовать только War3.mpq и War3x.mpq. Первый содержит модели, используемые в WarIII ROC, а второй - те, которые впервые поя-вились в TFT.
В качестве упражнения попробуем извлечь модель дриады. Для этого:
1. Выберем в меню Просмотрщика File->Open MPQ.
2. В появившемся диалоговом окне найдем файл War3x.mpq и откроем его. После этого кроме главного окна откроется окно Оглавления (Treeview). Оно имеет следующий вид:
В верхней части окна отображается содержимое MPQ-архива. Оно имеет древовидную структуру (по типу каталогов). Нажав на значок <+> слева от названия MPQ, можно открыть список подразделов. В разделе содержатся модели спецэффектов (способностей юнитов, например). В разделе "Buildings", как ясно из названия, хранятся модели строений, ну и т.д. Ради интереса можете просмотреть содержимое всех разделов (а их довольно много). Нас же интересует раздел "Units", где и хранятся модели юнитов. Откроем этот раздел (щелчком по плюсику слева от названия раздела), и увидим: всего лишь еще один список подразделов: Creeps (модели крипов, т.е. нейтральных юнитов типа мурлоков), Critters (модели животных: олень, сова, и пр. Нам нужен раздел NightElf, где содержатся юниты ночных эльфов (дриада - один из них). Открываем раздел NightElf, и перед нами - новый список. Теперь уже имена разделов соответствуют именам юнитов, которые в этих разделах хранятся. Мы откроем подраздел "Dryad" (для тех, кто забыл, напоминаю: мы решили в качестве примера извлечь модель Дриады).
3. Ну вот мы, наконец, добрались до сути, т.е. до собственно модели. В этом разделе содержится всего одна модель: Dryad.mdx (все модели, содержащиеся в MPQ, находятся в MDX-формате).
4. Щелкнем мышью по имени этой модели: И ее содержимое тут же откроется в главном окне Просмотрщика: мы увидим 3D-изображение Дриады!
Просмотр изображений
Прежде чем заняться извлечением модели из MPQ, полюбуемся на саму модель, а заодно познакомимся с навигацией внутри Просмотрщика. Итак, щелкнем мышью по поверхности главного окна (того самого, где сейчас изображена Дриада, вид сбоку). Итак, при просмотре можно:
1. Движением колесика мыши изменять масштаб изображения (больше/меньше)
2. Перемещением курсора мыши с зажатой левой кнопкой можно вращать мо-дель (рассмотрев ее со всех сторон)
3. Перемещением курсора мыши с зажатой правой кнопкой можно двигать саму модель в пространстве.
Кроме того, Просмотрщик позволяет увидеть модель <в движении>, т.е. просмот-реть все анимации модели. Для этого нужно вернуться в малое окно TreeView (то самое, где изображено содержимое MPQ) . Там есть список Animation (по умолча-нию в этом списке стоит None). Выберите там нужную анимацию - и готово, Вы можете увидеть модель в действии! Регулятор Speed позволяет изменить скорость просмотра анимации, а список Camera позволяет выбрать позицию просмотра мо-дели (при условии, что модель содержит т.н. камеры, но модель дриады их не со-держит).
Группы моделей
Теперь попробуем просмотреть модель Иллидана. Для этого вместо Dryad выберем раздел EvilIllidan. И тут мы увидим, что этот раздел содержит не одну, а две моде-ли: IllidanEvil.mdx и IllidanEvil_Portrait.mdx. Первый файл - собственно модель Ил-лидана, а второй - т.н. портрет. Грубо говоря, это изображение морды юнита крупным планом. В этой модели присутствуют анимации речи (например, шевелят-ся губы модели), и этот портрет используется в кинематических роликах (это то изображение, которое выводится внизу слева во время разговора этого юнита). Не-которые юниты могут содержать не только две, но и три, и больше mdx. Например, в разделе Малфуриона содержится целых 4 модели (разные формы).
Текстуры
Однако вернемся к Дриаде. Теперь Вы, я думаю, уже сумеете открыть ее для про-смотра самостоятельно. Теперь попробуем извлечь эту модель из MPQ и сохранить ее на диске в виде отдельного файла. Делается это очень просто: нужно всего лишь кликнуть правой кнопкой мыши по имени модели (в окне Treeview) и в появившем-ся меню выбрать пункт "Extract MDX". После этого Просмотрщик запросит имя папки, в которую нужно извлечь модель, и запишет MDX-файл в указанную Вами папку.
<Внимание: в любой программе есть глюки. Конечно, есть они и в Просмотрщике. Например, некоторые модели отображаются довольно посредственно (попробуйте просмотреть модель Артеса - и Вы поймете, о чем я говорю) или не отображаются вовсе. С этим, к сожалению, ни-чего не поделать. Еще один глюк, который приводит в недоумение новичков, состоит в том, что то самое всплывающее меню всплывает позади окна Treeview, так что его пункты становятся не видны. Если эта проблема возникла и у Вас, попробуйте перед вызовом этого меню предвари-тельно щелкать левой кнопкой мыши по заголовку окна Treeview. Тогда меню не тонет>.
Итак, сам файл модели извлечен. Но это еще только полдела: для нормальной рабо-ты с моделью нужно извлечь еще и текстуры этой модели (на Бру их часто назы-вают скинами, что не совсем верно). Зачем же они нужны? - спросите Вы. Дело в том, что файл MDX определяет только самую грубую форму, контуры модели. А тонкие детали, цвета, свечение, вспышки - все это описывается текстурами, при-крепленными к модели. Чтобы в полной мере оценить важность текстур, проведем следующий опыт. Вызовем какую-нибудь модель и в главном окне Просмотрщика выберем из меню Render->Textured. Эта опция отключает использование текстур. Ну, и как результат? Модель изменилась до неузнаваемости, причем не в лучшую сторону (повторный выбор Render->Textured вновь включает текстуры).
Подробнее о текстурах
Прежде всего, попробуем просмотреть, какие текстуры используются нашей моде-лью (еще раз напоминаю, что мы пока изучаем модель Дриады). Для этого щелкнем правой кнопкой мыши на имени модели (Dryad.mdx) и все в том же всплывающем меню выберем "Show used textures names" и увидим следующее сообщение:
Итак, наша модель дриады использует текстуры Dryad.blp, Dust3x.blp, gutz.blp и Star8b.blp. Всего, т.о., 4 текстуры. Сразу хочу отметить, что для экономии дискового пространства Blizzard разрабатывали модели так, чтобы одна текстура использовалась по возможности несколькими моделями. Кроме того, Вы, возможно, уже заметили, что файлы текстур имеют расширение blp (встречаются также текстуры с расширением tga). То, что в списке текстур идет до имени файла текстуры - это т.н. путь, т.е. имя раздела MPQ, где эта текстура хранится.
Просмотрщик позволяет просматривать и содержимое файлов текстур. Для этого нужно переключить его в blp-режим (в окне TreeView кликнуть по переключателю "BLP"). Итак, глянем, к примеру, на текстуру Dryad.blp. Для этого переведем Про-смотрщик в режим просмотра BLP и в окне TreeView пройдем по разделам
units->NightElf->Dryad и выберем Dryad.blp. После этого в окне просмотра мы и увидим текстуру. Теперь ясно видно, что текстура - это всего-навсего обычная кар-тинка (плоская), созданная в каком-то графическом редакторе (например, в Photo-shop). После извлечения (см. далее) ее легко отредактировать. Если текстура нахо-дится в tga-формате, то Photoshop ее сразу загрузит. А вот если в blp:
BLP - это особый графический формат (сокращение от Blizzard Picture), по своей структуре напоминающий IJPEG (довольно маразматическая разновидность JPEG). Вероятно, ни один графический редактор загрузить его <как есть> не сможет. К сча-стью, Просмотрщик позволяет конвертировать BLP в более приемлемый формат (jpg,bmp,tga на выбор), и наоборот - любой из перечисленных форматов преобразо-вать в BLP! Так что, даже не имея никакого 3D-редактора, можно сильно изменять внешний вид модели (например, на Бру мне попадались текстуры, превращающие Артеса в Арагорна или крестьянина в жуткую мумию).
Собственно извлечение
Приступим, наконец, к извлечению текстур. Для этого опять загрузим нашу Дриаду (mdx, 3D-модель). После чего кликнем по имени Dryad.mdx в окне Treeview правой кнопкой мыши: Да, это все то же всплывающее меню! На сей раз выберем там по-следний пункт - "Extract (and convert) used textures", после чего увидим окошко:
» Нажмите для увеличения «Слева находится спи- сок тех текстур, кото-рые будут извлечены. Справа - набор опций:
1. Extract to : - задает папку, в которую будут записаны файлы текс-тур.
2. Prompt when file already exists - Если эта опция включена, то когда файл текстуры с таким именем уже су-ществует, Просмотр-щик будет спрашивать, перезаписать ли его.
3. Keep directory structure - когда эта опция установлена, в указанной папке будет воссоздан весь путь, т.е. структура подпапок (в соответствии с названиями разде-лов) и уже в эти папки запишутся текстуры. Я рекомендую убирать галочку напро-тив этой опции.
4. Convert to - когда опция установлена, текстуры не только извлекаются, но еще и конвертируются в нужный формат (который выбирается из нижерасположенного списка). Если текстуры извлекаются лишь для того, чтобы потом оттекстурировать модель в MdlVis, галочку напротив этой опции нужно снять.
Итак, устанавливаем опции, жмем OK, и текстуры извлечены!!! Рекомендуется из-влекать их в ту же папку, куда вы извлекли mdx-файл модели.
Просмотр извлеченного
Просмотрщик позволяет просматривать в том числе извлеченные модели. Это по-зволяет просматривать модель после редактирования. А сейчас мы убедимся, что извлечение модели выполнено правильно. Для этого в главном меню Просмотрщи-ка выберем File->Open и в открывшемся диалоговом окне разыщем наш извлечен-ный файл Dryad.mdx. Если все сделано правильно, то модель будет загружена, как если бы мы выбрали ее внутри MPQ.
<На этом мы заканчиваем знакомство с Просмотрщиком. У него есть еще куча полезных осо-бенностей, но цель данного руководства - описание редактора MdlVis, а не Просмотрщика>.
Yobguls Converter: конвертируем модель
Дело в том, что редактор MdlVis не понимает MDX-формат, т.к. мне не удалось найти сколько-нибудь подробное описание этого формата. Поэтому вначале модель необходимо преобразовать из MDX в MDL-формат. А после редактирования - на-оборот, из MDL в MDX. Эти преобразования можно выполнить с помощью конвер-тера от Yobguls'а. Скачать конвертер можно, к примеру, здесь.
Конвертер написан на VB и отличается некоторой глючностью. Запустим его. Если все в порядке (иногда при запуске конвертера возникают некоторые неожиданные проблемы), то перед Вами окажется следующее окошко:
Пользоваться конвертером предельно просто: кликаем по кнопке "Load File", в от-крывшемся окне выбираем файл для конверсии.<Тут, кстати, иногда наблюдается довольно неприятный глюк: конвертер неправильно фильтрует файлы, так что часть из них может не отображаться. Тогда нужно или ввести имя файла вручную, или пару раз сменить <тип файла> в нижнем списке с mdx на mdl и обратно>.
Мы для примера конвертируем файл Dryad.mdx. Когда мы выберем нужный файл, кнопка станет активной. Кликаем по ней, и в каталоге с нашей моделью появляется файл с тем же именем, но с расширением MDL! Это та же самая модель, только в MDL-формате (он, кстати, занимает больше места, чем MDX). Исходный MDX-файл больше не нужен и может быть удален.
<Еще один глюк конвертера состоит в том, что при выходе из него возникает исключение-ошибка чтения. На это просто не нужно обращать внимания>.
Обратная конверсия (после редактирования) осуществляется аналогично: нужно загрузить отредактированный MDL-файл и кликнуть по кнопке "Convert to MDX".