Перейти к контенту

The new weapon and its addition in S.T.A.L.K.E.R (SoC)


Ааз

Рекомендуемые сообщения

(изменено)

 


 


Следующая версия утилиты для редактирования скелета в сохранениях Милкшейпа. Теперь можно вращать\перемещать джоинты без обнуления данных об ориентации.https://yadi.sk/d/sbI681pn3QFCT5

Изменено пользователем Ааз
  • Спасибо 2
  • Нравится 2

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
Kirag, действительно хороший способ для убивания свободного времени smile.gif . На самом деле, всё это можно сделать гораздо быстрее.
1)Опять же, импортируем в милкшейп мировую модель.
2)Теперь ставим новый джоинт (корневой, естественно, т.е. не имеющий над собой родительского) и двигаем его в нужное нам место.
3)Далее, идём в Tools=>Model Information. В списке ищем наш джоинт, смотрим его координаты, радуемся жизни. Возможно, придётся знак где-то инвертировать, но это уже мелочи.

Относительно худовых моделей, ничего непонятного там нет. Если для мировых моделей положение партикла задаётся в "глобальной" для данной модели системе координат, то для худовых мы сами можем выбрать, что брать за начало отсчёта (а именно, относительно какого джоинта будет высчитываться положение этого партикла). За то, какой джоинт берётся за ноль, отвечают параметры fire_bone, fire_bone2, shell_bone в секции худа (так они называются в ЧН, в ТЧ названия могут отличаться). Например, если параметр fire_point = 0,0,0 и fire_bone = wpn_silencer, то партикл всегда будет расположен точно в той точке, в которой находится джоинт глушителя (т.е. с нулевым смещением относительно неё). При этом, если данной костью будут отыгрываться анимации, то партикл будет также повторять движения вслед за костью.
Да, в теории всё просто. Но если мы попытаемся определить смещения в МШ, то нас могут (и будут) ждать определенного рода сюрпризы. Дело в том, что МШ при малейшей попытке произвести какие-либо действия со скелетом производит всякую хрень (иначе не скажешь) с ориентацией джоинтов - например, "зануляет" её. Соответственно, слетает направление координатных осей (кстати, именно это и ведёт к порче анимации, сделанной для "старого" скелета). Естественно, координаты точки партикла в "новой" координатной системе будут, мягко говоря, не совсем такими, как в оригинальной... Что мы и увидим в игре при попытке прописать оные в конфиг.
Поэтому нам необходим какой-то другой план. Тут есть несколько вариантов. Да, об этом нужно заботиться на этапе создания скелета, но если это сделать - то проблемы исчезают сами собой.
Вариант 1. При создании скелета мы выставляем корневую кость "в ноль", т.е. в начало системы координат. Далее всё предельно просто - указываем, что будем задавать партиклам смещения относительно этой кости, и действуем так же, как и с мировыми моделями. К сожалению, тут есть один недостаток (или преимущество?) - партиклы не будут двигаться вслед за оружием. Поэтому, если необходимо такое движение, то смотрим далее.
Вариант 2. Мы специально добавляем в скелет к оружию кости, которые будут "направляющими" для партиклов. Т.е. мы ставим каждую из них точно в то место на модели, в котором должен воспроизводиться партикл, затем в конфиге указываем эту кость как "родительскую" для партиклов и выставляем нулевое смещение.

Эти два варианта хорошо работают (я тут рассматриваю только работу в милкшейпе, в майе всё просто до элементарности, ибо порчи ориентации там не происходит; мы просто делаем новый дочерний джоинт к тому, на котором должен "висеть" партикл, выставляем его в требуемую позицию, переписываем координаты, которые и дают нам требуемое смещение) только в случае, если мы создаем скелет "с нуля". А если нам надо настроить положения для уже готовых моделей, то что делать тогда? Первым делом посмотреть, не удовлетворяет ли эта модель обозначенным выше условиям. Если удовлетворяет - то действуем так же, если не удовлетворяет, то первым делом вооружаемся данным текстом, и пытаем автора оным до полного осмысления... К сожалению, модель от этого настраивать легче не станет. Поэтому начинаем думать, что можно сделать.
Вариант первый, для продвинутых пользователей Notepad. Попробуем загнать в модель дополнительную кость вручную, сохранив ориентацию остальных, и подобрать её координаты нужным нам образом. Для этого создаём новый пустой MS3D-файл, ставим в нём одну кость, сохраняемся. Далее импортируем нашу модель, идём File=>Merge и выбираем в нём файл с нашей костью (ВНИМАНИЕ! В самой модели кости новые НЕ создавать и НЕ двигать, это автоматом убьёт ориентацию!).
Теперь проводим экспорт в MS3D ASCII. Для тех, кто в танке - в этом формате в удобочитаемом виде хранится информация обо всей сцене. После экспорта открываем файл, ищем нашу новую кость (должна быть в конце) и вручную прописываем ей нового родителя. Сохраняемся, проверяем, импортируя данный файл в МШ. Ели всё сделано правильно - то кость приобретёт себе родителя. А дальше начинаем подбирать данной кости смещение (опять же совершая правки в экспортированном нами файле), проверяя каждый раз, попал ли джоинт в нужное место, или нет. Да, долго, но смещение подобрать можно.
Вариант второй, для любителей Конфигуратора. Как известно, в ЗП настраивать партиклы худа уже давно можно визуально, прямо в игре. Поэтому мы прописываем в ЗП визуалом какого-нибудь худа наш ТЧшный худ, и подбираем нужное смещение. В общем, кто временами читает то, что я временами пишу ( smile.gif ), тот поймёт смысл данного абзаца. Да, данный способ чисто теоретический, на практике я его не проверял, но работать он должен.
Также, чтобы не мучиться с ЗП, для худовых моделей партиклы можно попробовать настраивать при помощи билдов (22хх) с рабочей командой hud_adjust_mode.

Vadimische, опередил smile.gif .

 

Изменено пользователем editor46
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

  • Куратор(ы) темы:

AMK-Team.ru

×
×
  • Создать...