Грамотное создание субмоделей оружия

Сообщения
82
Реакции
7
Всем привет, решил наклепать субмоделей для своего пака оружия. Банальным спихиванием референсов в один бодигрупп нынче никого не удивишь. Но я обратил внимание на w субмодель из одного плагина. Там помимо этого в qc прописаны все хитбоксы, в айдл-анимации прописаны все кости всех стволов и их координаты, есть в этом смысл? В голову лезет лишь точность касания игрока к модели и регистрации тача. Но самое непонятное, зачем прописывать все кости всех стволов в каждом smd самих орудий? Потом я начал разбираться с p моделями, гайдов и примеров подробно сделанной субмодели p_ с такими нюансами я не нашел. Делал по наитию, пришел к тому, что анимация всего лишь одна (Айдл), а одинаковых костей с разными координатами в этой анимации много, поэтому назвал группы этих костей по-разному для каждого ствола. После 9ого ствола количество костей превысило лимит 128, как я могу обойти эту неприятность?
 
Сообщения
37
Реакции
9
1. По моему скромному опыту, кажется, кости в w_ не имеют применения, но были оставлены допустим потому, что моделлер для w_ модели скопировал reference v_ модель вместе с костями в ней. А разные хитбоксы у каждой субмодели действительно имеют место быть, их можно использовать для наиточного регистрирования прикосновения к weaponbox путём тысячи и одного «костыля». Как по мне, слишком много труда при создании подобного «с нуля» для такой незаметной детали, понадобится только перфекционисту.
2. По моему скромному опыту, это вполне возможно использовать одни и те же кости в нескольких анимациях. Не понимаю, откуда у вас в p_ модели много костей, оставляете одну кость, к которой крепится модель игрока при держании оружия в руках, берёте модель, которая изначально хорошо лежит в руках у игрока, берёте из неё эту базу, эту единственную кость, и потом уже можно сохранить это как базу, и к ней грамотно подгонять референсы различных оружий, которые будут переключаться в рамках бадигруппу. Единственной проблемой будет кость, которую игра использует как позицию для отображения muzzleflash.
3. По моим скромным знаниями, вы можете попробовать добавлять p_ модели как бадигруппу модели игрока. Это вполне возможно.
 
Сообщения
873
Реакции
539
Помог
13 раз(а)
w_ модели скопировал reference v_ модель вместе с костями в ней
1. не совсем правда - челы просто копируют весь файл w_ модели в другую модель, закидывают .QC и компилят "как есть"
отсюда и появляется множество костей
еще этот способ полезен, если внутри другой модели есть анимация, а соединить модели нужно

А разные хитбоксы у каждой субмодели действительно имеют место быть, их можно использовать для наиточного регистрирования прикосновения к weaponbox
1. хитбокс, исходя из названия, нужен только для регистрации урона. Размеры для тача определяются кодом
 
Сообщения
37
Реакции
9
хитбокс, исходя из названия, нужен только для регистрации урона. Размеры для тача определяются кодом
C основным применением "ящиков для попадания" я знаком :D . Помнится, видел я в обсуждении Hitbox Fixer'a здесь, что кто-то до патча модуля имел проблему с неправильным просчётом колизии игрока с энтити-моделью открытого шкафа. Короче, можно для таких энтити в модель(.mdl) добавить флаг STUDIO_TRACE_HITBOX и игра будет для всех SOLID_BBOX энтити для колизии с этой моделью использовать хитбоксы модели вместо бэбоксов(bbox, bounding box). Источник этой информации ‒ этот тред на "аленях".
 
  • Funny
Реакции: Arni
Сообщения
82
Реакции
7
Levka4, подзадержался с ответом я.
1) исключено, у модели, которую я изучал все изначальные модели w, это просто большая субмодель, которая хранит модели всего оригинального оружия и предметов из КС. А насчёт тача я так и предположил, иных альтернатив не вижу. Хотя ниже написали что это не так.
2) А в том и прикол, что анимация у p модели всего-то одна. И положение костей у каждого оружия в этой анимации разное. Сходные координаты там буквально у 10 костей, не более. Звучит как нереальный костыль, такое я видел только у неписей в модификации к ХЛ mastersword continued. Да и моделлер я никакой. Я подумал, что можно по идее оформить вторую анимацию idle, где будет прописано положение костей второй группы оружия, в таком случае два ствола смогут делить между собой одинаковые кости, но я не знаю как бы прописать включение второй анимации айдла при определенном оружии в руках, да и возможно есть способ ещё проще, поэтому я и тут. В любом случае, спасибо за ответ.
15 Янв 2025
BalbuR,
1) Я тоже так сначала подумал, но есть НЮАНС. В каждом референсе оружия из субмодели там имелся пронумерованный список костей всего пака айтемов и во всех референсах нумерация сохранялась. И корректно указывалась в сотнях мест в каждом из референсов. Чел буквально изменил стандартные нули в сотне мест каждого из 29 референсов, это не похоже на ctrl-c + ctrl-v от балды.
2) А зачем тогда вообще нужны хитбоксы в pvw моделях? У меня в субмоделях оружие лежит под разным углом, что тогда отвечает за точное прикосновение к нему?
 
Сообщения
873
Реакции
539
Помог
13 раз(а)
Чел буквально изменил стандартные нули в сотне мест каждого из 29 референсов, это не похоже на ctrl-c + ctrl-v от балды.
если он смержил все рутовые кости в одну - круто
только зачем? обычно такое нужно только для аттачментов, в остальных случаях фактически и не нужно

А зачем тогда вообще нужны хитбоксы в pvw моделях?
bounding box - определяет размер модели
например, если у чела невалидный бокс, сервер его не пустит на сервер с mp_consistency 1
были такие челы, которые p_ модели делали с полкарты (сами знаете для чего)

так же модель можно трейсить через engfunc_TraceModel

за тач он не отвечает, кроме как ссылки выше
там исключение из правил

углы движок плохо понимает, кстати
 
Сообщения
82
Реакции
7
BalbuR, получается, все расписывания координатов костей и хитбоксов в w модели лишнее? И где я могу найти гайды с прогонами по всем этим нюансам с аттачментом и тд, а также подробным расписыванием создания субмоделей? Я глянул v субмодели Сисы, меня нормально так тряхнуло.
 
Сообщения
873
Реакции
539
Помог
13 раз(а)
BalbuR, получается, все расписывания координатов костей и хитбоксов в w модели лишнее? И где я могу найти гайды с прогонами по всем этим нюансам с аттачментом и тд, а также подробным расписыванием создания субмоделей? Я глянул v субмодели Сисы, меня нормально так тряхнуло.
обычно все хб стираются и компилятор сам их генерирует
исключением может быть момент, когда у тебя пачка моделей и нужны разные хитбоксы под конкретный меш
там уже заморачиваешься и с костями и анимациями

гайдов не видел, увы
 
Сообщения
37
Реакции
9
обычно все хб стираются и компилятор сам их генерирует
Это напомнило мне момент годичной давности, который я могу не помнить во всех деталях, но суть была в том, что я работал с моделью ящика со снабжением, и заметил, что тач происходит поздно, словно bbox (тогда я ещё не особо отличал его от hbox 😅) у модели слишком маленький, поэтому начал чудить со всеми боксами модели что только мог, и помнится когда вообще удалил все боксы, скомпилировал, и после этого проверил модель в просмотрщике моделей, там чудом появлялись и hbox и bbox и, по-моему, даже sbox 😅. Только сейчас я понимаю, что границы прикосновения вообще нужно было править в коде)).
Я глянул v субмодели Сисы, меня нормально так тряхнуло.
Я тоже пару раз просматривал его исполнения бодигрупп в моделях. По идее это всё выполнено при помощи централизированной отправки сообщения WeaponAnim игроку и грамотного отслеживания и (если требуется)блокировки всех функций и переменных, что задействованы в обновлении и отправке боди и анимаций. Также важно создать удобный workflow и систему для контроля индексации всех значений дабы банально во всех них не потеряться. Неизвестно только (нужно экспериментировать), в какие ограничения движка упёрся SISA, что вынудило его все равно расгрупировать модели оружия по нескольким файлам.
 
Сообщения
82
Реакции
7
BalbuR, понял, чекнул, хитбоксы, ббоксы, аттачменты сами записываются, в референсах и анимациях кости другого оружия сами указываются, а место где у P модели появляется спрайт выстрела тоже в модели указывается? Поставил субмодель с использованием энтити вместо p модели, а спрайт выстрела появляется в центре винтовки, а не в конце дула.
Вчера в 15:26
@Levka4,ну теперь я плюс-минус понял. А насчёт view субмоделей, у меня припасены фрагменты кода, там да, при каждом пуке надо посылать анимацию с нужной боди, заранее сделать дамми-анимацию и спамить ей в клиент апдейте или что-то типо того, если вспомню и найду у себя, то скорее всего смогу реализовать. А вот создание самой модели для меня проблема. Сделать субмодель двух одинаковых стволов с разной текстурой - проблем нет, но когда я попробовал с двумя немного отличающимися своими мешами, то у второго ствола крышка затвора начала закрываться не полностью во всех анимациях. Хотя 80 процентов костей идентичны и указаны на одинаковых координатах.
 
Сообщения
873
Реакции
539
Помог
13 раз(а)
Поставил субмодель с использованием энтити вместо p модели, а спрайт выстрела появляется в центре винтовки, а не в конце дула.
да
в этом случае аттачмент не наследуется на такую энтити
как вариант сделать пустую p_ модель с аттачментами и регулировать через var_controller'ы
посмотри как сделано, будет проще разобраться
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу