Подготовка моделей людей к экспорту в игру

Материал из BestWay wiki
Перейти к: навигация, поиск

Автор :Vora_bat


С чего начать


  • Будем считать что у вас уже есть модель в 3D максе. Вот она такая красивая стоит перед вами, и вы не знаете что с ней делать. Сперва давайте откроем солдата из примера, который идёт вместе с плагином для 3д макса - gb_com.max.
Max.jpg


  • Налюбовавшись вдосталь нажимаем на модель, она называется Skin,
Max0.jpg


и удаляем её. В итоге у нас будет стоять вот такой андроид:

Max01.jpg


  • Андроид это несомненно круто, но нам нужен человек. Для того чтобы долго не мучаться с подключением модели, нажимаем на File -> Merge и выбираем модель.
Max02.jpg


  • Я обьеденил с уже готовой моделью:
Max03.jpg


  • Предварительно назвав модель Skin, открываем вкладку Modify, и в списке модификаторов добавляем модификатор Skin (действия видно на скриншоте):
Max04.jpg


  • Добавив модификатор Skin, нажимаем на него, и внизу видим его опции:
Max05.jpg


  • Нажимаем на кнопку Add, и выбираем в списке такие кости:


Body
Foot1L
Foot2L
Foot3L
Foot1R
Foot2R
Foot3R
IK_LeftRight
IK_UpDown
Clavice_left
Hand1L
Hand2L
Hand_rot1L
Palm1L
Palm2L
Palm3L
Clavice_right
Hand1R
Hand2R
Hand_rot1R
Palm1R
Palm2R
Palm3R
Head
  • В итоге у вас будет вот такой список:
Max06.jpg




Настройка костей


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

  • Для начала нажмите на кнопку Envelope:
Max07.jpg


  • После этого в списке снизу выбираем кость, которую будем настраивать. Для более понятного объяснения я выбрал кость Head, что в переводе с английского означает что? Голова.
Max08.jpg


Чтобы не повторять мои ошибки и долгие мучения в процессе настройки я объясню вам самый быстрый и простой способ настройки кости.


  • Ставим галочку возле пункта Verticles. Это позволит нам выбирать точки на модели которые мы захотим прилинковать к какой-то кости.
Max09.jpg


  • После этого в окне редактирования модели выбираем всю голову:
Max10.jpg


  • Далее, находим опцию Abs. Effect, и выставляем там значение от 0,0 до 1,0. 0.0 - значит что точки не присоединены к кости, 1,0 же в свою очередь значит что точки полностью присоединены к кости. Часть модели при этому изменит свой цвет от в зависимости от параметра.
Max11.jpg


  • Голова присоединена к кости. Нужно проверить что вышло. Нажимаем внизу кнопку запуска проигрывания анимации, и смотрим как голова будет реагировать на движение кости:
Max12.jpg


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

  • В итоге у вас должно выйти что-то вот такое:
Max13.jpg


  • После этого мы должны прилинковать Skin к Basis, это делается так:
Max14.jpg


  • После чего заходим в Object Propersties:
Max15.jpg


  • И во вкладке User Defined прописываем Poly
Max16.jpg


Экспорт модели


  • Когда всё будет готово, идём в File -> Export
Max17.jpg


  • В типе файла выбираем MDL Scene Export (*.mdl), а навзании пишете что угодно, это не играет роли
Max18.jpg


  • Появится окно, в котором нужно указать путь к папке, в которую экспортирует модель (желательно сделать так как на скриншоте в плане галочек и прочего, путь к ресурсам игры вписывайте по своему усмотрению)
Max19.jpg


  • нажимаем Export, и смотрим как проходит процес конвертирования.
    Скорей всего поначалу у вас во время этого процесса будет куча ошибок, но если вы сделали всё по инструкции, то ошибок быть не должно. В итоге вы получите папку в которой лежит готовый humanskin. Эту папку вы ложите в resource/entity/humanskin, после чего создаёте нужный .set файл в resource/set/breed, где указываете в {skin ...} название вашего скина. Если вы к примеру захотите изменить названия в процессе настройки в 3д максе, то зайдите в "User Defined" Basis'a, и в строке "Model=entity/humanskin/eng-com" поменяйте "eng-com" на любой угодный вам.