Как вставить модель в игру с помощью Blender 3D — S.T.A.L.K.E.R. Inside Wiki

Как вставить модель в игру с помощью Blender 3D

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

Вступление

Итак, всем доброго времени суток. Перерыв весь интернет, нигде не нашёл плагина, который позволял бы импортировать\экспортировать модель из Blender 3D, разве что наткнулся на фразу "...пускай "Питоновцы" (Python - язык, на котором написан Blender 3D) сами пишут скрипт экспорта в .object, Blender'ом вряд ли кто сейчас полюзуется..." и был огорчён. Но всё-таки нашёл выход, и начал плодить модели пачками. Эта статья для тех, кто не может позволить себе 3DS Max или Maya, но очень хочет внести в игру свои "модельные" правки. Имея при себе Blender 3D, который весит с необъодимыми прибамбасами всего 60 мб (!), вы сможете творить и творить для игры...Но статья не для "чайников" в Blender'e, нужно сначала изучить азы программы, после можете использовать эту статью. Итак, нам понадобится:

1) Сама программа Blender 3D версии 2.49

2) Плагин к Blender .smd import\export [1]

3) Плагин Blender .ms3d import\export [2]

4) Milkshape 3D версии 3.8.4

5) Плагин импорта\экспорта в формат x-ray SDK для Milkshape 3D 3.8.4 - можно взять со страницы Категория "Руководства" -> "Программы" -> "Программы и утилиты"

6) Сам X-ray SDK

Примечание 1: почему Blender версии 2.49? Потому что версии выше, уже содержащие плагины по экспорту формата smd, экспортирует smd, которые очень криво читаются программой Milkshape 3D 3.8.4

Примечание 2: перед работой желательно скопировать текстуры, которые использует модель в папку с установленным X-Ray SDK, а именно в level_editor\gamedata\textures\.

Приступим...

Импорт модели .ogf в Blender 3D и её подготовка.

Для начала импортируем необходимую нам модель для правки. Для этого откроем программу Milkshape 3D и нажимаем file -> import -> stalker ogf (или как там отмечено) и ищем нашу модельку. Импортируем, сохраняем в формат .ms3d.

[3]

Далее открываем Blender 3D с установленными выше плагинами, жмём File -> Import -> Milkshape 3D (.ms3d)

[4]

На скриншоте изображена модель рук с восстановленным скелетом. Я просто опишу, как я добился модели "чисто рук", без пистолета, иначе завалю скринами. Значит, импортировал модель рук и пистолета со скелетом из формата .ms3d. Затем... Удалил старый криво импортированный скелет модели и создал новый скелет только для рук, более понятный. При этом с самой модели удалил меш пистолета и глушителя. Итак, остались только руки с новым созданным скелетом.

Примечание 3: я переделал с нуля скелет потому, что при импорте в Милку составляющие модель худа меши могут накладываться на скелет абы как, и сам СДК будет принимать его по-своему.

С импортом модели самого оружия - а я решил создать свой худ пулемёта РП-74 (он же ПКМ) - делаем то же самое. И импортируем модель из формата .ms3d в тот же файл с руками. Модель самого пулемёта я взял из ЧН, удалил кость, привязывающую пулемёт к новым рукам (это кость wpn_body). Проделав нехитрые манипуляции, я подогнал размер модели оружия к размерам рук (можно и наоборот), а также подогнал сам скелет оружия под подогнанную к рукам модель оружия. [5]

Примечание 4: общее число костей - костей рук и оружия в скелете не должно превышать 64 - это ограничение движка. Для ЧН и ЗП ситуация иная, есть на это отдельная статья.

Настраиваем саму модель - устраняем дефекты сглаживания, правим UV-развёртку, настраиваем "развесовку" групп вершин к костям... Если нужно, конечно.

Примечание 5: центр модели должен совпадать с общим центром арматуры (скелета), иначе при экспорте можете получить "эффект вытянутых пальцев". Примечание 6: желательно, чтобы одна анимация отрисовывалась не в одном и том же файле, а в отдельном файле во избежание несчастных случаев с самой моделью и порчи других анимаций.

Всё, наша модель со скелетом готовы. Можно анимировать. Как анимировать - это уже вопрос по самой программе. [6]

ВНИМАНИЕ! При анимировании модели старайтесь избегать таких приёмов, как масштабирование и ей подобных - Milkshape и формат .smd не понимают его.

Экспорт анимированной модели в Milkshape.

Если вы уже окончательно решили, что ваша модель и её анимации готовы для отправки в Зону, то следуйте дальше...

Нужно нашу модель с анимацией экспортировать теперь в формат .smd (тут-то и пригодился плагин для Blender'а). Формат .smd устроен так, что при сборке в одну модель, содержащей в себе анимацию, нужно экспортировать саму модель со скелетом отдельно, и анимации тоже отдельно. И это, пожалуй, единственный широко доступный формат, который понимают известные 3d-редакторы и конвертеры для игр. Изначально формат .smd, да и сама программа Milkshape задумывались для работы с моделями игр серии Half-Life, но решили немного их расширить...

Чтобы экспортировать саму модель, пока без анимаций, в режиме Object Mode кликаем сначала на саму модель, и, не снимая выделения с неё, щёлкаем по скелету. Далее в Blender'е жмём File -> Export -> Half-Life 2 (.smd) or (.vta). Выбираем из раскрывшегося меню Static Mesh, экспортируем.

Теперь, чтобы экспортировать анимацию, опять же выделяем модель и арматуру (скелет), жмём File -> Export -> Half-Life 2 (.smd) or (.vta), только теперь экспортируем как Animated Mesh и именуем соответсвенно, чтобы прописать их в игре. И так проделываем со всеми остальными анимациями.

После того, как вы полностью экспортировали и саму модель со скелетом, и анимации, каждую по отдельности, можете закрыть Blender и переходим в Milkshape 3D.


Экспорт модели в СДК.

Когда открыли Милку, импортируем сначала саму модель в формате .smd: File -> Import -> Half-life SMD. В параметрах импорта указываем меш (Triangles) и кости (Skeleton), но кости не переименовываем. Указываем необходимые текстуры, экспортируем модель в формат .object, обзываем её понятно ваше_название_модели.object. [7] Далее импортируем анимации File -> Import -> Half-life SMD -> ставим галку только напротив Skeleton. Просматриваем анимацию, если есть сомнения (кнопка просмотра в правом нижнем углу). Если просмотрели анимацию, выходим из режима просмотра анимации. Экспортируем анимацию в формат .skl - ваше_название_анимации.skl. И также проделываем с другими анимками.

После того, как экспортировали модель и все анимации, смело закрываем Милку. Открываем Actor Editor из X-Ray SDK...


Экспорт модели в игру.

Открываем Actor Editor. Жмём на File -> Load, ищём нашу модельку в формате .object. Подгружаем нашу модель...

Теперь черёд анимаций. Открываем во вкладке Motions в поле Object items, нажимаем Append и ищем нашу анимацию в формате .skl. И по очереди загружаем остальные анимации. [8]

Примечание 7: ВАЖНО! После того, как подгрузили модель со скелетом, убедитесь, что она повёрнута "дулом от вас", т.е. спиной, (как на скриншоте выше) иначе в конфигурационных фйлах придётся заморачиваться с настройками разворота. Если разворот сбивает анимация, то отредактируйте её, иначе в игре анимация будет проигрываться не так, как задумано.

Примечание 8: ВАЖНО! Если при просмотре анимации в СДК вы видите такие артефакты, как исчезающие или дёргающиеся пальцы или что-то подобное, переэкспортируйте анимацию из Milkshape, а кривую анимку удалите, нажав на неё а затем на кнопку Delete рядом с кнопкой Append. Если же анимация сложная (как в моём случае), то редактировать проблемные кости придётся в Blender'е и экспортировать в Милку, а оттуда в СДК. Если проблемные кости не исправляются, то их, только их аккуратно нужно переанимировать в Milkshape, после чего экспортировать проблемную анимацию в СДК.

Примечание 9: ВАЖНО! Для таких анимаций, как перезарядка, выстрел, показ\прятание оружия нужно поставить ограничение на проигрывание циклов. Просто выделите подобную анимацию, и в её свойствах поставьте галку напротив Stop at end.

[9]

И НАКОНЕЦ! После того, как собрали модель с анимациями, уже теперь можно экспортировать в формат игры .ogf.

С моделью оружия от третьего лица всё гораздо проще. Нужно лишь переконвертировать её из оригинального .ogf (в моём случае из ЧН), перевести его в .object при помощи конвертера от bardak'а, загрузить этот .object в СДК и просто экспортировать снова в .ogf - это для устранения конфликта движка с моделью.


Заключение.

После всей этой мути уже смело можно ковыряться в конфигах - на это есть отдельная статья. На первый раз кажется очень тяжело, что лучше уж заплатить несколько тысяч за лицензионный 3DS MAX или Maya... Но поверьте, когда увидите сиё творение в игре, сразу простите себе все обиды за потраченное время :)

Участник:Venom9875

Другие места
LANGUAGE