Добавление аддонов на оружие без редактирования анимации — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(Мы платим за лайки! - Оплата сдельная!) |
OlegatoR (обсуждение | вклад) |
||
(не показаны 2 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | Данная статья посвящена возможности прикрепления обвесов на оружие просто не имеющих их в модели 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 <!-- закомментировано![-omf] --> -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 можно узнать в [[3dsmax._Создание_HUD-модели_оружия|этой статье]]. | ||
+ | А о настройке конфигов в [[Редактирование_оружия|этой]] и [[Создание_нового_оружия|этой]] статьях. | ||
+ | |||
+ | == От автора == | ||
+ | Теперь если вы ни где не накосячили, всё должно работать. | ||
+ | Удачи вам в ваших творческих свершениях! | ||
+ | И ещё, если кто найдет способ устранения вылета не дающего сделать новый аддон съемным, прошу - дополните эту статью. | ||
+ | |||
+ | Заранее спасибо! | ||
+ | |||
+ | == Дополнение: редактирование моделей ТЧ == | ||
+ | К сожалению, описанный выше способ не сработает при редактировании моделей '''ТЧ''' – по двум причинам: | ||
+ | *в '''Milkshape''' если просто добавить кости с помощью инструмента '''Joint''' – при просмотре анимаций модель завяжется в узел; | ||
+ | *при импорте анимаций '''SDK''' выдаст нечто наподобие «''не могу найти кость <bone_name> в анимации <animation_name>''» и, соответственно, откажется импортировать. | ||
+ | Придется действовать по-другому. Из инструментов, кроме выше перечисленного, понадобится [http://stalkerin.gameru.net/downloads/other/for_wiki_articles/ms3dhe.7z '''Ms3d Hierarchy Editor''']. | ||
+ | === Порядок действий: === | ||
+ | '''1.''' Создаем копию исходной модели.<br> | ||
+ | '''2.''' В копии добавляем нужные кости.<br> | ||
+ | [[Файл:Adding_bones_001.jpg]]<br> | ||
+ | '''3.''' Добавленные кости поварачиваем на '''-90''' градусов по оси Х относительно родительской кости (далее станет видно для чего). К сожалению поворот костей в '''Milkshape''' работает как-то странно – поэтому придется вручную разместить кости так, как будто всю совокупность костей повернули.<br> | ||
+ | [[Файл:Adding bones 002.jpg]]<br> | ||
+ | '''4.''' С помощью '''Hierarchy Editor'''’а в копии отсоединяем старшую из созданных костей от ее родителя.<br> | ||
+ | [[Файл:Adding bones 003.jpg]]<br> | ||
+ | '''5.''' Всю изначальную геометрию и весь изначальный скелет в копии удаляем (таким образом должны остаться только созданные кости).<br> | ||
+ | '''6.''' Открываем оригинал и подгружаем ('''Merge''') копию.<br> | ||
+ | '''7.''' В оригинале модели с помощью '''Hierarchy Editor'''’а привязываем созданные кости к нужным родителям.<br> | ||
+ | [[Файл:Adding_bones_001.jpg]]<br> | ||
+ | Как видим, совокупность созданных костей повернулась на '''+90''' градусов и оказалась расположена там, где требовалось. Сохраняем (+ экспортируем в '''.object''').<br> | ||
+ | '''8.''' Поочередно импортируем и пересохраняем с измененным скелетом все анимации. | ||
+ | |||
+ | После этого из полученных '''.object''' и '''.skl''' файлов в '''SDK''' как обычно собираем модель. Теперь к созданным костям спокойно можно присоединять аддоны – анимации будут корректны, аддоны будут одеваться/сниматься.<br> | ||
+ | |||
+ | ''Пояснение:'' процесс «создание костей – отсоединение – удаление исходной геометрии и скелета – объединение моделей – присоединение костей» необходим для решения первой из указанных проблем – завязывания модели в узел. Вторая проблема решается пересохранением всех анимаций.<br> | ||
+ | |||
+ | ''Важное замечание:'' для того, чтобы съемные аддоны работали корректно, созданным костям нужно дать стандартные имена: | ||
+ | *'''wpn_silencer''' – для глушителя;<br> | ||
+ | *'''wpn_scope''' – для оптического прицела;<br> | ||
+ | *'''wpn_grenade_launcher''' и '''wpn_grenade''' – для подствольного гранатомета (возможно понадобятся еще кости – для прицела и спускового крючка). | ||
+ | |||
+ | == Авторы == | ||
+ | |||
+ | |||
+ | '''Автор:''' [[Участник:Ya.D|Ya.D]]<br> | ||
+ | '''Дополнил:''' [[Участник:Geoset|Geoset]] | ||
+ | |||
+ | |||
+ | [[Категория:Wireframe]] |
Текущая версия на 11:15, 12 марта 2017
Данная статья посвящена возможности прикрепления обвесов на оружие просто не имеющих их в модели 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. В копии добавляем нужные кости.
3. Добавленные кости поварачиваем на -90 градусов по оси Х относительно родительской кости (далее станет видно для чего). К сожалению поворот костей в Milkshape работает как-то странно – поэтому придется вручную разместить кости так, как будто всю совокупность костей повернули.
4. С помощью Hierarchy Editor’а в копии отсоединяем старшую из созданных костей от ее родителя.
5. Всю изначальную геометрию и весь изначальный скелет в копии удаляем (таким образом должны остаться только созданные кости).
6. Открываем оригинал и подгружаем (Merge) копию.
7. В оригинале модели с помощью Hierarchy Editor’а привязываем созданные кости к нужным родителям.
Как видим, совокупность созданных костей повернулась на +90 градусов и оказалась расположена там, где требовалось. Сохраняем (+ экспортируем в .object).
8. Поочередно импортируем и пересохраняем с измененным скелетом все анимации.
После этого из полученных .object и .skl файлов в SDK как обычно собираем модель. Теперь к созданным костям спокойно можно присоединять аддоны – анимации будут корректны, аддоны будут одеваться/сниматься.
Пояснение: процесс «создание костей – отсоединение – удаление исходной геометрии и скелета – объединение моделей – присоединение костей» необходим для решения первой из указанных проблем – завязывания модели в узел. Вторая проблема решается пересохранением всех анимаций.
Важное замечание: для того, чтобы съемные аддоны работали корректно, созданным костям нужно дать стандартные имена:
- wpn_silencer – для глушителя;
- wpn_scope – для оптического прицела;
- wpn_grenade_launcher и wpn_grenade – для подствольного гранатомета (возможно понадобятся еще кости – для прицела и спускового крючка).