Добавление аддонов на оружие без редактирования анимации — S.T.A.L.K.E.R. Inside Wiki

Добавление аддонов на оружие без редактирования анимации

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

Версия от 11:15, 12 марта 2017; OlegatoR (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Данная статья посвящена возможности прикрепления обвесов на оружие просто не имеющих их в модели HUD. То есть при выполнении всего ниже сказанного можно будет повесить глушитель на СВД, прицел на ТОЗ-34 и т.д (Подствольник на данный момент установить не получится — как не крути понадобится новая анимация). И ещё один нюанс — аддон на пушке можно будет сделать либо несъемным, либо отсутствующий (при попытке сделать обвес съемным, игра вылетает с банальным логом «stack trace»). Делал с замахом на ЗП, ЧН, но подходит и к ТЧ - различия только из - за разделения мешей и анимаций - руки от оружия.

Ну давайте собственно перейдем к делу.

Необходимый минимум

  • Самое главное — прямые руки растущие из плеч и умеющая мыслить голова.
  • Умение работать с 3D редакторами и конфигами оружия или желание научиться там работать и хотя бы немного времени.
  • Milkshape 3D или любой другой редактор с нужными плагинами импорта\экспорта.
  • Сталкер SDK не суть важно какой.
  • Конвертер Бардака (понадобится для вытаскивания анимаций и файла .bones) и умение с ним работать.
  • Распакованные архивы Сталкера.

Этап I — редактирование модели

  • Для начала импортируем нужную модель.
  • Импортируете требуемые вам аддоны(если вместе с ними импортируются новые кости - удалите их), редактируете их по своему вкусу и ставите куда вам больше нравится.
  • Далее создаете новую кость под аддон (wpn_scope - для оптики и wpn_silenser для глушителя) на том джоинте который не должен двигаться относительно обвеса. К примеру оба аддона для ТОЗ-34 будут завязаны на переламывающемся стволе - кость с названием bend_reload. Новая кость должна находиться на той же координате что и кость-основа. Оригинальные джоинты не двигать!!!
  • Осталось прибиндидь аддоны к соответствующим костям и экспортировать в .object.
  • А для World модели просто создаете дополнительные джоинты не суть важно где.
  • Этап редактирования закончен.

Этап II — настройка модели в SDK

Импортирование файла .bones и анимаций

Начнём с форматов. .bones - это формат зон соприкосновения мешей с окружающим миром. Содержится в мировой модели. .skls - это формат множественной анимаций (1 файл - несколько анимаций). Содержится либо в HUD'е модели (в основном ТЧ), либо в .omf файла имеющего вид wpn_(название оружия)_hud_animation.omf

Теперь я расскажу о создании .bat файла требуемого для работы с конвертером Бардака, так как здесь погорело не мало народу. Технология довольна проста - создаёте .txt файл, набиваете требуемую команду (например: converter -skls wpn_svd_hud_animation.omf) и "сохранить как".

Ставите вот это в соответствующих строках:

Имя файла: (любое).bat

Тип файла: все файлы

И сохраняете. Готово.

Настройка в SDK

Загружаете ранее созданный .object Настраиваете вкладки surfaces и object по своему вкусу.

Настройка для HUD модели - вкладка motions. Импортируете вытащенный skls через edit\append (через motion reference получите вылет в игре). Экспортируете на замену оригинальному wpn_(название)_hud.ogf

Настройка для World модели - вкладка bones. Загружаете .bones через file\load и настраиваете. Экспортируете на замену оригинальному wpn_(название).ogf

Более подробно о настройке в SDK можно узнать в этой статье. А о настройке конфигов в этой и этой статьях.

От автора

Теперь если вы ни где не накосячили, всё должно работать. Удачи вам в ваших творческих свершениях! И ещё, если кто найдет способ устранения вылета не дающего сделать новый аддон съемным, прошу - дополните эту статью.

Заранее спасибо!

Дополнение: редактирование моделей ТЧ

К сожалению, описанный выше способ не сработает при редактировании моделей ТЧ – по двум причинам:

  • в Milkshape если просто добавить кости с помощью инструмента Joint – при просмотре анимаций модель завяжется в узел;
  • при импорте анимаций SDK выдаст нечто наподобие «не могу найти кость <bone_name> в анимации <animation_name>» и, соответственно, откажется импортировать.

Придется действовать по-другому. Из инструментов, кроме выше перечисленного, понадобится Ms3d Hierarchy Editor.

Порядок действий:

1. Создаем копию исходной модели.
2. В копии добавляем нужные кости.
Adding bones 001.jpg
3. Добавленные кости поварачиваем на -90 градусов по оси Х относительно родительской кости (далее станет видно для чего). К сожалению поворот костей в Milkshape работает как-то странно – поэтому придется вручную разместить кости так, как будто всю совокупность костей повернули.
Adding bones 002.jpg
4. С помощью Hierarchy Editor’а в копии отсоединяем старшую из созданных костей от ее родителя.
Adding bones 003.jpg
5. Всю изначальную геометрию и весь изначальный скелет в копии удаляем (таким образом должны остаться только созданные кости).
6. Открываем оригинал и подгружаем (Merge) копию.
7. В оригинале модели с помощью Hierarchy Editor’а привязываем созданные кости к нужным родителям.
Adding bones 001.jpg
Как видим, совокупность созданных костей повернулась на +90 градусов и оказалась расположена там, где требовалось. Сохраняем (+ экспортируем в .object).
8. Поочередно импортируем и пересохраняем с измененным скелетом все анимации.

После этого из полученных .object и .skl файлов в SDK как обычно собираем модель. Теперь к созданным костям спокойно можно присоединять аддоны – анимации будут корректны, аддоны будут одеваться/сниматься.

Пояснение: процесс «создание костей – отсоединение – удаление исходной геометрии и скелета – объединение моделей – присоединение костей» необходим для решения первой из указанных проблем – завязывания модели в узел. Вторая проблема решается пересохранением всех анимаций.

Важное замечание: для того, чтобы съемные аддоны работали корректно, созданным костям нужно дать стандартные имена:

  • wpn_silencer – для глушителя;
  • wpn_scope – для оптического прицела;
  • wpn_grenade_launcher и wpn_grenade – для подствольного гранатомета (возможно понадобятся еще кости – для прицела и спускового крючка).

Авторы

Автор: Ya.D
Дополнил: Geoset

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