Раздел:
Раздел 1
Обновлено 21.11.20
Дополнения
  • Исправлены несколько скриншотов.
  • Добавлена информация по частицам.
Привет XGM! В этой статье я хочу рассказать вам в деталях о создании моделей для Warcarft 3 с нуля используя Blender 2.8 и дорабатывая напильников в Warcraft Model Editor.
Для этого мы будем использовать плагин для экспорта в MDL github.com/khalv/mdl-exporter
за авторством пользователя Fingolfin с форума HIVE.
Рассказывать про установку плагина не вижу смысла, так как в интернете полно статей на эту тему.
Геометрию так же затрагивать не буду, так как это уже будет гайд по блендеру. Если вы не пользовались бэндером до этого, то я бы рекомендовал вам канал Blender Guru (на английском, но всё предельно понятно)
Теперь перейдём непосредственно к тому, что является необходимым для Варкрафта. А именно оснастке модели скелетом, рефами, системам частиц и анимации.
Для этого туториала у меня есть вот такая модель башни магов из штормграда. Так же сделанная в блендере и затекстуреная в Substance Painter (если интересует процесс создания стилизованных текстур с запеканием всего чего надо - пишите). + добавлены строительные леса на стандартных текстурах.
Первое, что надо отметить - геосеты. Данный плагин автоматически определяет геосеты при экспорте в mdl. Делает он это, опираясь на материал, применённый к объектам. Объёкты с одинаковым материалом будут помещены в один геосет. В моём случае мне понадобиться 2 геосета на строительные леса, 2 геосета на окна второго этажа, так как они будут анимированы, 1 геосет на статичные части и 1 геосет на крыши с тимкалором.
Создаём 6 блендеровских материалов и во вкладке настройки ищем MDL material.
Там добавляем слои. В материал с тимкалором 2 стоя, во все остальные - 1.
Выбираем типы слоёв - изображение и прописывем там путь к будущему импорту (если таковой имеется) или выбираем стандартный путь к текстуре (в плагине все стандартные пути уже вшиты. Вы можете просто воспользоваться поиском при выборе).
В материале тимкалороа - верхнему слою ставим значение TeamColor. При экспорте плагин автоматически запихнёт Replaceable ID1. А нижнему слою ставим режим смешивания blend и двухсторонний рендер (так же двухсторонний рендер я включил для основной башни, но уже позже).
Также вы можете добавлять в слои любые другие текстуры и Repalceable ID.
Теперь, когда материалы настроены - можно добавить рефы. Набор рефов зависит от самой модели и от того, что вы в последствии хотите с ней делать в игре.
Названия рефов можно стянуть из стандартных моделей или придумать самим, если это специальные рефы, к которым вы собираетесь обращаться из триггеров или цеплять к ним другие модели.
Чтобы добавить реф - создаём пустой объект и называем его в формате (названиерефа Ref), после чего просто позиционируем его туда, куда надо.
В моём случае список рефов такой:
Теперь переходим к частицам. Чтобы создать источник частиц - создаём плоскость (plane)
Перетаскиваем её куда нам надо, масштабируем (масштаб определяет площадь испускания частиц). Далее переходим в панель частиц и добавляем новую систему:
После чего опять ищем параметры MDL.
У нас имеется несколько пресетов для частиц: пыль, огонь, искры и пар. У них сразу настроены все парамтры, так что нам остаётся только подкрутить цвет, скорость, выделение за секунду ну и возможно гравитацию.
Цвет частиц настраивается в режиме HSV!
По поводу частиц могу сказать только - эксперементируйте.
Теперь переходим к самому ответственному процессу - скелету. Если вы не собираетесь дваигать какие-то группы вершин - просто выделите их в отдельный объект и не заморачивайтесь. Плагин сам при экспорте создаст для них кость. С остальными же - начинаем париться)))
Создаём стандартный скелет блендеровский и размещаем кости. Если нужны зависящие друг от друга - экструдируем (потом придётся корректировать риг!!!) Про риг "мягких" моделей расскажу потом отдельно, когда займусь юнитами.
Теперь привязываем части геометрии к костям. Порядок такой: Выделяем кость в инспекторе, потом выделяем объект и через шифт кликаем по кости, к которой собираемся привязываться. Псле этого нажимаем пкм выбираем пункт parent и подпункт bone. На этом этапе крайне важно не допустить ошибок
Когда все косточки на месте - переходим к анимациям. Ух.
Плагин работает по следующему принципу: Так как в варкрафте все анимации упиханы в один таймлайн - для определения границ анимаций используются маркеры. Для создания маркера - воставьте курсор таймлайна в место где начинается анимация и нажмите "M" на клавиатуре, после чего подведите курсор к стрелочке маркера и нажмите ctrl+m чтобы изменить название. Названия ставим в варкрафтовском формате. После чего копируете маркер и перемещаете его в конец вашей анимации. Должно получиться так:
Далее начинаем добавлять ключевые кадры. Есть два способа: по хоткею "i" или по кнопки записи (жирная точка в квадрате). Если вы до этого мало работали в блендере с анимациям, то запись не рекомендую. Да, это быстрее, но рискуете нахватать лишних ключевых кадров. Потом хрен почините. И ещё один совет - сразу сохраните в ключевом кадре все параметры вашей модели. Для этого нажмите i и выберете пункт Whole character.
Кадры, не отличающиеся друг от друга будут соединены полосой на таймлайне.
На анимацию Birth советую выделять 60 блендеровских кадров.
После того как проанимировали все кости и довольны результатом - можно анимировать материалы и частицы. Чтобы созать ключевой кадры параметра - наводим курсор на параметр и нажимаем i. Параметр подсветится цветом. Зеленым - если в текущем кадре нет ключевого кадра, жёлтым - если есть ключевой кадр, оранжевым, если изменения внесены, но не закреплены в кадре.
Теперь, когда мы закончили - экспортируем модель в формат mdl и открываем в ModelEditor.
Здесь важно проверить все анимации на корректную работу, поворот и масштаб модели. Если вас что-то не устраивает - возвращайтесь в блендер и правьте или экспортируйте с другими значениями. После того, как вас устраивает результат - корректируете частицы, анимации мтериалов и добавляете анимации геосетов.
Подробно об этом можно посмотреть здесь: xgm.guru/p/wc3/anims-a-ya-5
Теперь остаётся добавить только коллизию (её можно добавить и в блендере, но я так и не понял как, даже посмотрев в коде плагина. Сама коллизия и её экспорт есть, а как её включить в 2.8 - загадка.) и Event Object-ы (звук смерти\убэрсплат).
Результат можете посмотреть здесь: xgm.guru/p/wc3/stormwindmagetower

Возможные проблемы и их решения:
Проблема: Модель странно дёргается\плавает вверх-вниз в какой-либо анимации.
Решение: При экспорте в анимацию попали лишние кадры. Передвиньте крайние ключевые кадры за маркеры или сдвиньте маркеры на 1 кадр в центр.
Проблема: Частицы\параметры анимировались странно.
Решение: Ключевые кадры параметров экспортируюся только изнутри анимации. Проверьте ключевые кадры, чтобы их небыло между анимацими.
Проблема: Модель слишком большая\маленькая\не туда повёрнута.
Решение: Поиграйтесь с этими параметрами при экспорте:
Проблема: Частицы не того цвета.
Решение: Настроить в редакторе частиц в самом ModelEditor.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
17
1 год назад
0
А как привязать кости к отдельным вершинам? Допустим мне надо, чтобы один кусок объекта, несколько вершин, был связан с одной костью, а другой с другой. Про это не написано.
Второй момент - что происходит с группами сглаживания при экспорте? Mdlvis например ломает нормали, принудительно сглаживает модель. Хорошо бы тоже про момент уточнить. Просто если ломает, нужно делать изначально совсем другую топологию.
Третий момент - какому количеству кадров в mdl соответствует 1 кадр анимации Блендера? Как не промахнуться с длиной и скоростью анимации?
0
1
2 недели назад
Отредактирован TowLaptev
0
> Для создания маркера - воставьте курсор таймлайна в место где начинается анимация и нажмите "M"
А известно, как можно удалить маркер, если промахнулся и сделал не то, что тебе нужно?
upd: А, "Shift-X" или "X"
Чтобы оставить комментарий, пожалуйста, войдите на сайт.