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

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Другие игры (только чтение)> Max Payne
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Shephard
Mods lover, mods creator
offline
Опыт: 3,158
Активность:
Модельки персонажей через милку, руководство (С)
Конвертируем модельку персонажа в игру.

Предназначено для чайников)
Описываю подробно, надеюсь мне это не пригодиться больше, хочу попрощаться с милкой)
Кстати что бы получилось не топорно продеться постараться, по тому как в милке всё топорно выходит.

1. Прежде всего настроим милку.
File->Preferences… Идём во вкладку Misc, параметр Joint Size меняем на 0.010000
Жмём ОК, всё готово
Таким образом мы изменили размер одного joint скелета. Теперь скелет будет отображаться корректно, а не как некое месиво.

2. Импорт.
Импортируем pose_male.kf2 или pose_female.kf2, зависит от пола вашего персонажа, мужской либо женский соответственно. Теперь импортируем вашу модель, либо с помощью File->Merge… что позволит объединить с другим файлом милки, либо через File->Import-> что бы импортировать модель другого формата, главное в этом деле не импортировать левый скелет или анимацию, об этом либо позаботьтесь заранее(удалить у импортируемой модели скелет) либо в параметрах импорта не используйте функцию импорта скелета и анимации.

3. Основы работы в милке (select и rotate).
Этот пункт не понадобиться вам, если у вас есть опыт работы в милке.

Обратите внимание на панель инструментов справа: Select, Rotate, Move, Scale.



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

Обратите внимание на появившееся параметры Select Options под панелью Tools.



Vertex позволяет выбирать только вертексы(точки или по другому вершины).
Face позволяет выбирать площади образуемые тремя вершинами.
Group выделяет группы на которые разделена модель. Модель можно поделить на группы, например: голова, ноги, руки и т.д. и всё это на ваше усмотрение. О группах позже.
Joint позволяет выделять части скелета, эта опция вам не пригодиться в этом руководстве.
Галочка Ignore Backfaces позволяет выделять только видимые части не выделяя как бы задние.
Галочка By Vertex предназначена для выделения faces. Позволяет выбрать полигон выделяя только его вершину. Это удобно если нужная часть (рука например) пересекается с остальной моделью, выделяя полигоны можно медленно продвигаться и выбрать только то, что нужно.

У каждого из этих четырех инструментов имеются свои опции.

Теперь выберите инструмент rotate. Им собственно и крутим выделенные части моделей Вращать можно прямо в одном из двухмерных окон зажатой левой кнопкой мыши. Рассмотрим опции.
Center Of Mass – при выбранном данном параметре, любое вращение будет происходить относительно условного центра выбранных частей.
Origin – вращение происходит относительно начала координат (от центра сетки)
User point – вращение происходит относительно точки куда вы сами кликнули.
Ниже идут три окошечка куда можно вводить цифры и кнопка Rotate справа от них. Этот можно сказать инструмент производит вращение с заданными параметрами, альтернатива вращению при помощи мышки в окне. Для какой-либо оси вводим нужное количество единиц поворота, после жмём rotate.
Global и local выбирает систему вращения (местная или общая), и нужен пожалуй только для скелета.

4. Размерчик.
Вернёмся к модели.Что мы видим) Модель исполинских размеров по сравнению со скелетом (либо меньше, но это реже бывает) да ещё и далеко от скелета, и повёрнута не так как надо.



Select выбран, ставим опцию Vertex без галочек. Выбираем всю модель в любом окошке кроме 3d`шного. Все вертексы должны покраснеть, теперь её нужно уменьшить инструментом Scale.



Тут лучше вводить параметры в панельки Scale Option и жать кнопочку Scale (меньше 1, уменьшать, больше увеличить)
Инструментом Move можно просто двигать модель, подвинем её как можно ближе к скелету.
Инструментом Rotate, вернём персонажа в вертикальное положение.
Нужно добиться совпадения пропорций модели и скелета, примерно так:



5. Поза.
Теперь пользуясь инструментами нужно предать модели такую же позу, как у скелета.
Например я начинаю со спины:



Желательно что бы спина была ровная как и скелет. Дальше выбираем только части тела, например ногу, сначала выберем всю ногу и вправляем её по бедру.





Выбираем ногу ниже колена, и вправляем её соответственно..





Таким вот образом выравниваем всю модель по скелету. Тут всё зависит от вашего терпения и таланта, удачи :)



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


6. Прикрепляем, оживляем.
Необходимый минимум мы выполнили, что бы подойти к самой ответственной части. Нужно прикрепить вашу модель к скелету.
Идём во вкладку, где перечислены все части скелета.



Двойным кликом на название в списке мы выделяем часть тела(скелета), это функция редактирования скелета, она поможет найти часть тела на экране.
Одним кликом просто выбираем в списке часть к которой и прикрепляем.
Наша задача прикрепить каждый вертекс к соответствующей части тела.
Механизм такой: выбираем нужные вертексы во вкладке Model, заходим во вкладку Joints, в списке выбираем соответствующую часть тела и жмём Assign. Кнопка Clear наоборот отсоединяет выделенные вертексы.
Кнопка SelAssigned – выделить прикрепленные вертексы выбранной части тела.
Кнопка SelUnAssigned – выделить ещё неприкреплённые вертексы.
Здесь удобно начинать от общего, переходя к малому. Например выбрав всю руку мы её прикрепляем к UpperArm, затем двигаясь по руке опускаемся к кончикам пальцев, прикрепляем часть ниже локтя к Forearm, затем Hand.
Это также трудоёмкий процесс, запаситесь терпением.
Советую отдельно открыть модель Макса Пэйна и посмотреть каким образом там прикреплена модель, и так сказать по образцу, правильно прикрепить всю модель.
Анимацией можно проверить сразу хорошо ли вы прикрепили. Жмём кнопку Anim (справа снизу), так переходим в режим анимации. Выделим сустав плеча.



Покрутим его немного, можно сразу увидеть забытые вертексы и другие проблемы.



Ещё раз жмём Anim, что бы выйти из анимации, модель сразу примет прежнюю форму.

7. Экспорт и шейдеры.
Перед тем как отправим модель в игру, вернёмся к группам модели. Эти группы можно использовать что бы отделить части модели, и так использовать разные шейдеры.
Пример: Я выбираю ботинки персонажа, захожу во вкладу Group жму кнопку regroup, выделенные ботинки отделились в отдельную группу.



Фишка в том что каждая группа может использовать свой материал. Идём во вкладку Materials, здесь список материалов. Любые группы могут использовать любые материалы, а любые материалы могут использовать любые файлы текстур. Отделенные ботинки сейчас используют тот же материал что и часть модели от которой мы отделили эти ботинки. Каждый материал может использовать свой шейдер.
Примечание. Вы наверное играли в моды которые работают только при отключении шейдеров, в этих модах просто неправильно указаны названия материалов что приводит к ошибке..
И так для ботинок создаём новый материал кнопкой new, переименовываем его в Boots кнопкой rename, жмем на кнопку где написано <none> и теперь выбираем нужный файл.
Как я уже писал, несколько материалов могут использовать одну и ту же текстуру, зато можно юзать разные шейдеры, делая части модели блестящими.
В соответсвующем .txt скина можно прописать
[LOD]
{
[Shader]
Material = "имя материала";
Shader = "имя шейдера";
}
В моём случае я должен прописать Boots, и использовать шейдер Leather.

Вот часто используемые шейдеры:
Leather - блестящая поверхность как кожаная куртка
Skin – кожа человека
Cloth – просто материал одежды
SuitTrousers – материал пиджака
MaxJacket – блестящая куртка Макса

Экспортируем в игру с такими параметрами:



Примечание. Милка версии 1.8.4 экспортирует .skd немного особенно: она создаёт skinname.kf2.skd, так что придется переименовать в skinname.skd, где skinname имя файла.
Всё, удачи ещё раз :)



8. Дополнительно.

Понижение полигональности.
Милка не рассчитана на многополигональные модели, потому что это тупо долго и сложно, что в 3д максе дело нескольких кликов) Придется потратить много времени и сил для такой модели))
Лучше время мучений в милке потратить на изучение 3д макса)
По этому полезно знать. Понизить полигональность можно так: Tools->DirectX Mesh Tool сдвигаем ползунок влево. Там же показывается число полигонов. У высокополигональной модели можно 10 тысяч полигонов спокойно скинуть без вреда для модели)
Важно: это удалит скелет, так что нужно позаботиться заранее. Если в модели много вогнутостей, могут появиться дыры. Могут отделиться некоторые вертексы. Исправляется это выделением нужных вертексов Vertex->Weld together (Ctrl-W). Этот баг можно будет заметить когда модель будет анимирована.

Швы и группы полигонов.
Разделение полигонов на группы для правильного освещения. «Смуз группы» не влияют на основные группы, а влияют только на освещение и всё. Можно разделять полигоны создавая эффект шва либо наоборот убирать швы там где они не нужны.
Как работать с ними. Выбираем полигоны которые хотим соединить, заходим во вкладку Groups где находим панель Smoothing Groops, ставим режим Assign и жмём цифру 2, ну или другую. Изначально все полигоны принадлежат группе 1. Режимом Select можно выбирать полигоны нажимая на цифры. Объединяются и разъединятся полигоны в смуз группы таким же способом. Всё очень просто и этот маленький приём поможет вам сделать модель более красивой.

3D риппер.
Если вы выдрали 3D риппером вашу модель необходимо удалить лишние группы и их материалы. Риппер выдирает карты освещения и всяческие карты нормалей и прочий бамп, которые после импорта просто дублируют модель. Это всё нужно будет удалить оставив только группы и материалы самой модели. Так сказать придется снять всю шушеру.

9. F.A.Q.

Вообще, можно любую модель конвертнуть или какие то условия должны быть для этого?
Любую. Условий нету, ну наверно кроме человеческой формы, 2 руки 2 ноги голова =))

Хочу использовать эффект Sphere Map для своей модели, можно? :)
Нельзя. Откажитесь от этого эффекта, т.к. милка его не экспортирует.

Анимации почему то в игре нету. Модель в позе и не двигается, оружие летает в воздухе.
Модель неправильно прикреплена. Вернее прикреплена полностью к одному joint, здесь нужно прикрепить разные вертексы к разным joint.
Кнопкой SelAssigned проверяем какие вертексы прикреплены к выбранному joint.

Фатально если пальцы не совсем так прилепишь?
Каждый вертекс надо прилепить, а пальцы это не просто трудоёмкий процесс, это жесть :) так что на первых парах можно прикрепить всю кисть и пальцы к joint кисти.

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

Можно ли импортировать анимацию из игры?
Да, анимации находятся в паке \data\database\skeletons\male\anim для мужского скелета и \data\database\skeletons\female\anim для женского. Перед импортом анимации должен быть импортирован скелет.

А можно как-то увеличить/уменьшить модель вместе со скелетом?
Да, желательно интсрументом tools->Scale all, размеры экспортируются в игру, анимация будет в игре шкалирована под скелет. Мини или макси макс пэйн =))
После этого нельзя импортировать анимацию.

Допустим есть модель в формате милки с анимацией, как просмотреть список этих анимаций?
На один файл одна анимация.

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

Как двигать сетку?
Нельзя её двигать, это не инструмент а только разметка. Сетку можно скрыть (Show Grid).

А от чего персонажа разрывает в игре? Чего в нем дырки появляются?
Некоторые вертексы отделены, нужно найти их, выбрать оба и нажать Ctrl-W. Либо если лень заниматься этим то можно выбрать всю модель и нажать Ctrl-W, но в таком случае могут склеится не нужные места, рот например :D Ну а если вас это не волнует то так и поступайте. Ещё можно просто развести в стороны вертексы которые не хотелось бы склеить.


_______________________________________________________________________


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

Распределение веса (С)
автор zzzGERTzzz

Работать с весом в милке очень просто. Объясню на примере с коленной чашечкой:

1) Присваиваем точки как обычно к костям ориентируясь на изгибе посередине.
2) Выделяем не всю часть коленки, а с первой на наш взгляд вершине (в виде точек соединяющихся в линию) (коленка находится спереди поэтому выделяем вершину не полностью вокруг ноги а только переднюю половину)
3) С выделенными точками переходим режим "anim" и ставим на вкладке joint для удобства галку на Realtime update.
4) Выбираем кости из списка над шкалой к которым нам нужно присвоить вес точек в данном примере это Bip01 R Thigh и Bip01 R Calf.
5) Двигаем ползунок чтобы определить силу кости на точки (измеряется в процентах 100), в нашем примере это верхняя вершина и она 100% принадлежит Bip01 R Thigh верхней части ноги поэтому ставим ползунок на 80 а на Bip01 R Calf на 20 и нажимаем на кнопку Fix, получаем следующее наша вершина теперь отделяется немного от верхней части ноги тем самым как бы растягивается, другими словами верхняя часть ноги тянет вершину на себя с силой 80% а нижняя часть соответственно 20%.
6) Нажать на кнопку "Assign" (для присвоения веса точек скелету) которая находится правее кнопки "Fix", на вкладке их две, путать нельзя.
Проделать тоже самое со всеми вершинами колени, только увеличивая постепенно силу (чем ближе вершина к кости тем сила этой кости должна быть больше) принцип думаю ясен. Внимание, кнопки управления видны только при высоком разрешении экрана (глюк милки нету скроулинга).

Отредактировано Shephard, 06.07.2009 в 21:36.
Старый 19.06.2009, 23:20
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Читал всё это на английском. Полгода назад я бы поклонялся тебе)

necumity добавил:
Слушай а для первого макса сфер мапы работают?
Старый 20.06.2009, 02:52
Shephard
Mods lover, mods creator
offline
Опыт: 3,158
Активность:
necumity а ранзницы в формате превого и второго почти нет, так что врятли
Старый 20.06.2009, 08:09
Centurion

offline
Опыт: 1,754
Активность:
Shephard большое спасибо! Буду учиться, хватит экспортировать только пушки :)
Старый 20.06.2009, 10:00
Captain Nemo

offline
Опыт: 15,601
Активность:
Оформи в отдельный файл, Зевс в базу зальет)
Старый 20.06.2009, 14:56
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
А откуда чувак?_)))
Старый 20.06.2009, 17:19
Shephard
Mods lover, mods creator
offline
Опыт: 3,158
Активность:
necumity это боец "армахем" из Fear2 =)
Старый 20.06.2009, 21:36
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Слушай пожалуйста вытащи мне модель ассасина с самог опервог оуровня, мужики в масках такие типа терроров?
Старый 20.06.2009, 21:43
Shephard
Mods lover, mods creator
offline
Опыт: 3,158
Активность:
necumity не помню таких, там половина врагов в масках)
Старый 20.06.2009, 21:47
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Вот как тока начинаешь игру первый же чувак расстрелянный в лифте
Старый 20.06.2009, 22:24
Shephard
Mods lover, mods creator
offline
Опыт: 3,158
Активность:
necumity Этого?


Captain Nemo А в каком формате?
Старый 20.06.2009, 22:43
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Да да да!! Если есть в более ли менее норм позе кинь мне плиз
Старый 20.06.2009, 23:34
Shephard
Mods lover, mods creator
offline
Опыт: 3,158
Активность:
Немного поправил и дополнил описание, добавил FAQ.
Пишите есчо вопросы)
Старый 21.06.2009, 01:11
Mark Bernet
Hoffman
offline
Опыт: 20,009
Активность:
У меня есть один вопросик. А можно ли в милке просматривать (не делать, а именно просматривать) анимации персонажей? А то я никогда не пользовался этой прогой и не знаю...
Старый 21.06.2009, 02:52
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Да можно. Загружаешь pose_male.kf2 потом модель персонажа, потом skd и потом анимацию
Конечно много всего так что лучше бросать модель персонажа с позой и skd в папку с анимациями)
Старый 21.06.2009, 07:30
iHome Leha

offline
Опыт: 3,004
Активность:
Мда...по пробывал я я кое что сделать и ничего толком не вышло. Даже не представляю как ты выгибам ему руки по скелету. Я пробовал согнуть руку, но она у меня двигается с частью полигонов от туловище, я не могу выбрать только её, моделька у меня не мало полигональная, наверное это из-за этого...
Старый 29.06.2009, 23:19
Shephard
Mods lover, mods creator
offline
Опыт: 3,158
Активность:
iHome Leha если рука пересекается с туловищем и не можешь её выбрать, используй By Vertex (позволяет выбрать полигон выделяя только его вершину), и по одному полигону медленно продвигайся.
И вот ещё важно если не знал: С зажатым шифтом можно продолжать выбирать не сбрасывая предыдущее выбирание. С тем же шифтом и правой кнопкой мыши можно убирать выделения.
Попробуй туловище выделить правой, тогда оно не будет выбранным.

Милка не рассчитана на многополигональные модели, потому что это тупо долго и сложно, что в 3д максе дело нескольких кликов) Придется потратить много времени и сил для такой модели))

Лучше время мучений в милке потратить на изучение 3д макса)

Shephard добавил:
Ещё полезно знать.

Понизить полигональность можно так: Tools->DirectX Mesh Tool сдвигаем ползунок влево. Там же показывается число полигонов. У высокополигональной модели можно 10 тысяч полигонов спокойно скинуть без вреда для модели)

Важно: это удалит скелет, так что нужно позаботиться заранее. Если в модели много вогнутостей, могут появиться дыры. Могут отделиться некоторые вертексы. Исправляется это выделением нужных вертексов Vertex->Weld together (Ctrl-W). Этот баг можно будет заметить когда модель будет анимирована.

Дополнил статью...

Отредактировано Shephard, 30.06.2009 в 00:13.
Старый 29.06.2009, 23:45
ARCHIMONDE
Маг'хар
offline
Опыт: 16,313
Активность:
Shephard
А можно как-то увеличить/уменьшить модель вместе со скелетом не создавая никаких глобалок и подобных вещей с анимами?И еще допустим есть модель в ms3d формате с анимами,как просмотреть список этих аним?

Отредактировано ARHIMOND5, 30.06.2009 в 01:04.
Старый 30.06.2009, 00:55
Shephard
Mods lover, mods creator
offline
Опыт: 3,158
Активность:
ARHIMOND5 да, импортируй скелет, модель kf2, потом её skd. Вместе со скелетом уменьши или увеличь и всё, будет мини или макси макс пэйн =))
Старый 30.06.2009, 01:01
ARCHIMONDE
Маг'хар
offline
Опыт: 16,313
Активность:
Не,модель в ms3d формате и только.
Старый 30.06.2009, 01:06

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

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

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

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



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