XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Markiz

offline
Опыт: 11,392
Активность:
Перевод одной интересной статьи (Импорт модели в 3DMax 5.1)
Ссылка на оригинал
Все права на статью принадлежат Cookie.
Все права на перевод принадлежат Markiz'у =)
Итак, как импортирвать модели mdx в 3DSMax 5.1

Необходимые инструменты:
Архиватор MPQ - по возможности. Подойдет как WinMPQ,так и MPQueen,так и MPQView.
Blp->Tga конвертер - опять подойдет любой,как Wc3 Image Viewer,так и Wc3 Image Extractor и им подобные.
Fadi Importer Script - а вот это уже незаменимо. Можно найти в разделе файлов на XGM (Он, по-моему называется mdx importer)
Yobgul's Converter - для перевода mdx<->mdl
Блокнот/Любой другой текстовый редактор - для редактирования mdl
Warcraft Art Tools - для экспорта max->mdx
3D Studio Max 5.1 - автор рекоммендует именно эту версию, хотя Max 4.2 тоже может сработать. Насчет GMax'a даже не спрашивайте.
|==========================================|
Начнем-с
Мы возьмем в качестве примера модель Артаса с молотом из архива War3.mpq.
[Примечание переводчика: Автор советует это делать при помощи WINMPQ, хотя намного удобнее сразу разархивировать и вытащить модель с текстурами (и заодно конвертировать их) с помощью Wc3ImageExtractor]
Разархивируйте ее(со всеми текстурами)
Теперь откройте Yobgul's converter и конвертируйте вытащенную модель в mdl.
Откройте файл Arthas.mpq текстовым редактором.
Теперь будьте внимательны! Одна неточность может все испортить!
Найдите такие строчки в файле:
Цитата:
Sequences 13 {
Anim "Stand - 1" {
Interval { 3333, 6667 },
MinimumExtent { -154.372, -145.345, -41.5714 },
MaximumExtent { 135.577, 144.604, 118.823 },
BoundsRadius 207.343,
}
Anim "Stand First" {
Interval { 10000, 16667 },
Rarity 5,
MinimumExtent { -154.372, -145.345, -50.8508 },
MaximumExtent { 135.577, 144.604, 129.42 },
BoundsRadius 207.442,
}
Anim "Stand Second" {
Interval { 20000, 26667 },
Rarity 6,
MinimumExtent { -154.372, -145.345, -58.5597 },
MaximumExtent { 135.577, 144.604, 187.532 },
BoundsRadius 212.742,
}
Anim "Stand Ready" {
Interval { 30000, 31000 },
MinimumExtent { -162.5, -143.208, -29.7471 },
MaximumExtent { 133.44, 142.467, 104.669 },
BoundsRadius 210.441,
}
Anim "Attack - 1" {
Interval { 33333, 34333 },
NonLooping,
MinimumExtent { -161.692, -145.092, -39.2506 },
MaximumExtent { 167.024, 144.35, 160.411 },
BoundsRadius 220.168,
}
Anim "Attack - 2" {
Interval { 36667, 37833 },
NonLooping,
MinimumExtent { -175.945, -147.584, -67.5383 },
MaximumExtent { 172.425, 144.604, 217.012 },
BoundsRadius 221.646,
}
Anim "Death" {
Interval { 40000, 41500 },
NonLooping,
MinimumExtent { -154.372, -145.345, -73.0451 },
MaximumExtent { 135.577, 172.391, 186.321 },
BoundsRadius 220.569,
}
Anim "Stand Victory" {
Interval { 46667, 49333 },
MinimumExtent { -154.372, -145.345, -1.06609 },
MaximumExtent { 135.577, 144.604, 199.406 },
BoundsRadius 224.501,
}
Anim "Spell" {
Interval { 53333, 55500 },
NonLooping,
MinimumExtent { -154.372, -145.345, -40.0393 },
MaximumExtent { 135.577, 144.604, 238.33 },
BoundsRadius 224.491,
}
Anim "Stand Channel" {
Interval { 60000, 61667 },
MinimumExtent { -154.372, -145.345, -0.62305 },
MaximumExtent { 135.577, 144.604, 239.487 },
BoundsRadius 233.49,
}
Anim "Stand Hit" {
Interval { 66667, 67167 },
NonLooping,
MinimumExtent { -172.083, -141.673, -25.705 },
MaximumExtent { 131.905, 140.932, 122.483 },
BoundsRadius 216.574,
}
Anim "Dissipate" {
Interval { 73333, 75333 },
NonLooping,
MinimumExtent { -154.372, -145.345, -66.6171 },
MaximumExtent { 135.577, 175.079, 553.363 },
BoundsRadius 324.988,
}
Anim "Walk" {
Interval { 126667, 127433 },
MoveSpeed 250,
MinimumExtent { -152.235, -143.208, -31.0483 },
MaximumExtent { 144.95, 142.467, 153.409 },
BoundsRadius 214.518,
}
}

Нашли? Замечательно. Теперь скопируйте номер последнего кадра (В данном случае это анимация Walk, кадр №127433) и вставьте этот номер как номер последнего кадра первой анимации, затем замените первый кадр первой анимации на 0 и удалите все анимации, кроме 1. В результате получится:
Цитата:
Sequences 13 {
Anim "Stand - 1" {
Interval { 0, 127433 },
MinimumExtent { -154.372, -145.345, -41.5714 },
MaximumExtent { 135.577, 144.604, 118.823 },
BoundsRadius 207.343,
}
}

Получилось? Славненько. Теперь сохраните mdl и трансформируйте его обратно в mdx при помощи того же Yobgul's converter.

= Первый этап закончен, можете пойти проверить почту :) =

Теперь открывайте Max. Во вкладке Utilities выберите MaxScript, затем Run Script ->Тот самый скрипт Fadi
(Mdx importer) и в раскрывающемся списке ниже выберите Mdx Importer/Exporter. Появится небольшая менюшка.
Поставьте галочку на Create Skinning и немного подождите.
Теперь выберите единственную анимацию из списка(мы ведь в прошлой части объединили все анимации в одну!) и примените ее. В результате получится ~38000 кадров.
Теперь,после импорта вы получили модель со всеми анимациями,костями и ключевыми кадрами. Порадовались немного, сохранили сценкув Max'e и закрыли импортер.
Теперь создайте маленький прямоугольник в точке с координатами 0,0,0 и назовите ее...ну скажем Bone_ABCDEFGH (Пусть только начинается с "Bone_")
[Примечание переводчика: по-видимому,автор пользуется старой версией Art Tools]
И в User Property Editor (Входит в комплект Art Tool) смените свойство этого объекта на Bone. Теперь найдите главную кость, которая не зависит ни от какой другой,но связана со всеми остальными, она как правило называется Bone_Root,и свяжите эту кость с созданным параллелипипедом. Теперь поверните Bone_ABCDEFG на 90 градусов вправо.
(Дело в том,что скрипт Fadi разворачивает при импорте все на 90 градусов влево. Исправим этот досадный баг)
А теперь выберите ВСЕ кости,и обозначьте их как Bones в Property Editor, Geoset теперь должен повернуться в нормальное положение.
Поздравляю! Вы закончили Вторую часть!
= А почта так и не проверена? Ай-яй-яй! :)=
Сохраните сцену,желательно под другим именем, на всякий пожарный...
Теперь выберите все Geosets и обозначьте их как [Connected] в User Property Editor->Mesh Properties.
теперь воспользуйтесь редактором материалов и назначьте модели соотвествующую текстуру.
Fadi скрипт неправильно импортирует UVWwrapping, так что вам придется включить wrapwidth и wrapheight. Вы можете это сделать, кликнув на канале Diffuse и выбрав опции U и V или просто все сделать сами.
Теперь вам придется разедить один сплошной Mesh на разные части тела (рука,там,нога, ухо :)) и разделить части тела на куски (Верхняя часть ноги,нижняя итп.)
Теперь используйте у модификатора Skin-Envelope функцию редактирования (Edit Envelope),чтобы посмотреть,какие части соединены с какими костями.
Заметьте,что модель Артаса слегка...кхэм...запутанная, но вы обязательно во всем разберетесь =)
= Заключительная часть. А почта-так и не проверена? :) =
Теперь совсем небольшие поправки. Скрипт Fadi (ну и бездарь! - прим. переводчика) и здесь совершает неточность: он не совсем правильно импортирует ключи. Подвигайте их на таблице,чтобы разобраться,что к чему.
Ну и наконец, когда все путем, после завершения манипуляций над ней,экспортируйте модельку при помощи Art Tools. Вот и все. Пример (Там все что вам нужно,кроме макса и арт тулз+ сценка с артасом) прилагается.
[Примечание переводчика: Советую создать отдельную директорию для работы с каждой такой моделью, например назовите ее Arthas]
Enjoy! Markiz.
Старый 14.06.2004, 18:35
Prot
моделлер
offline
Опыт: 14,138
Активность:
А вот пример работы этого скрипта: модель Артаса, уже в формате мах.
Старый 14.06.2004, 18:39
tysch_tysch
Работаем
offline
Опыт: отключен
Я думаю в базу... попохже закину, ща занят
Старый 14.06.2004, 20:01
tysch_tysch
Работаем
offline
Опыт: отключен
перенесено в жёлтую прессу

BLIZZARDv1.000 добавил.
гы а почему слияние не сработало?
Старый 15.06.2004, 00:37
Markiz

offline
Опыт: 11,392
Активность:
Цитата:
гы а почему слияние не сработало?

Потому что пример выложил Prot =)
Старый 15.06.2004, 15:07
Mefist
Is it cocktail hour yet?
offline
Опыт: 98,240
Активность:
Не про это он. Не сработало по тому что большой промежуток времени.
Старый 15.06.2004, 15:16
zibada

offline
Опыт: отключен
выложено (вместе с файлом Прота), пасиба за статью...
неплохо было бы еще короткое описание, о чем статья. (оно выскакивает при наведении мышой на название статьи + можно на правую колонку повесить объяву)

близз, автоматическая склейка двойных постов работает только в течение 1 часа, юзай редактирование :).
Старый 15.06.2004, 16:12
Markiz

offline
Опыт: 11,392
Активность:
Цитата:
неплохо было бы еще короткое описание, о чем статья.

Сорри,что долго не отвечал,я винду переустанавливал, поэтому два дня сидел в оффлайне.
Насчет описания:
"Несколько раз я видел людей, которые пытались в обычном текстовом редакторе изменять модель в формате .mdx.Зачем, когда есть способ намного более удобный? Главное иметь 3DS Max,прямые руки и чуточку терпения!"
Старый 16.06.2004, 20:27
Prot
моделлер
offline
Опыт: 14,138
Активность:
Markiz
Ну наверное ты не видел в живую таких людей :) А во вторых, мы(такие люди) прави mdl а не mdx :D В mdx вообще какая-то бурда, там фиг чего поймёшь.
Старый 18.06.2004, 14:01
yalenz

offline
Опыт: 10
Активность:
Люди, кто - нибудь может скинуть на yalenz@yandex.ru Fadi's Importer Script...
Старый 30.10.2008, 20:20
Dr

offline
Опыт: 48,671
Активность:
yalenz
Цитата:
Можно найти в разделе файлов на XGM (Он, по-моему называется mdx importer)

http://xgm.guru/files.php?section=wc3&id=149 - наверно оно
Вообще смотри дату создания темы - наверняка на сегодняшний день она уже не актуальна.
Старый 30.10.2008, 20:23

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:32.