Как склеить несколько моделей в одну?

Сообщения
13
Реакции
2
Привет, есть плагин https://dev-cs.ru/resources/1223/.
Лимит в 512 моделей не хочется достигать, поэтому хотелось бы как-то объединить несколько моделей в 1.
Видел плагин, который 32 _w модели оружия в одну собирает и на этом экономия.
Вопрос, с помощью каких инструментов можно объединить несколько моделей в одну, какие у этого решения ограничения и как это в коде потом юзать? Выглядит как классические спрайты, где на каждую модель просто свой сдвиг в координатной сетке (по исходникам тоже на это похоже). Поэтому интересно больше как такую модельку собрать самому, можно ли это автоматизировать и, опять же, какие ограничения?
 
Сообщения
3,256
Реакции
1,436
Помог
121 раз(а)
  • Нравится
Реакции: ssx
Сообщения
1,480
Реакции
1,476
Помог
2 раз(а)
какие ограничения?
Вот все лимиты
#define MAXSTUDIOTRIANGLES 20000 // TODO: tune this
#define MAXSTUDIOVERTS 2048 // TODO: tune this
#define MAXSTUDIOSEQUENCES 2048 // total animation sequences -- KSH incremented
#define MAXSTUDIOSKINS 100 // total textures
#define MAXSTUDIOSRCBONES 512 // bones allowed at source movement
#define MAXSTUDIOBONES 128 // total bones actually used
#define MAXSTUDIOMODELS 32 // sub-models per model
#define MAXSTUDIOBODYPARTS 32
#define MAXSTUDIOGROUPS 16
#define MAXSTUDIOANIMATIONS 2048
#define MAXSTUDIOMESHES 256
#define MAXSTUDIOEVENTS 1024
#define MAXSTUDIOPIVOTS 256
#define MAXSTUDIOCONTROLLERS 8


И на заметку - цитата от SIS'ы с 2016 года
Для объдинения больших моделей нужен патченный компилятор.
Для объединения моделей нужны идентичные или очень схожие кости скелета
А потом лимиты, лимиты и лимиты...

Лимиты на количество бодей в группе. Лимиты на количество бодей в игре, лимиты на количество текстур в модели, количество костей и т.д. Там тонна всяких лимитов на всё подряд, по этому эти объединения выглядят легко только на начальном этапе. Когда модель начнет жиреть, проблемы посыпятся одна за другой
 
  • Нравится
Реакции: ssx
Сообщения
13
Реакции
2
MayroN, а если, к примеру, шапки объединять, там же про кости ничего нет, т.е, подобные модельки по лимитам упрутся только в " sub-models per model ", к примеру? Как и с logo для плагина который я указал.
6 Янв 2022
MayroN,
Для объдинения больших моделей нужен патченный компилятор.
А есть ссылочка на него?
 
Сообщения
13
Реакции
2
MayroN, ещё не очень понял как для каждой отдельной submodel свой hitbox сделать, к примеру.
 
Сообщения
13
Реакции
2
Накидал MVP идеи своей.
Нужна установленная Node.JS для запуска (если index.exe не запустился или боитесь запускать (это просто собранный с помощью pkg index.js))
Для запуска из Node.JS просто node index.js в консоли выполнить нужно.

Суть идеи - штука которая группирует модели (используя sub models) деля пачки на 32 (максимальное количество sub models). Сейчас уже работает, но на уровне mvp, ибо есть проблемы. Опять же, пока хочется на тупом уровне сделать - шапки, мб логотипы для плагина с логотипами. Не говорим сейчас про оружие со сложной анимацией.

1. Как задать такой $cd и $cdtextures, чтобы всегда по полному пути искало. Сходу не нашёл как сделать, из вариантов поправить что-то в области https://github.com/fnky/studiomdl/blob/master/src/studiomdl.c#L1950 и пересобрать компилятор. Из-за этой кривизны не получается сейчас нормально каждую модель в свою папку сложить и в итоговой уже по полному пути собирать sub models.

2. Есть мнение, что я проиграл с hit boxes. Как их правильно для каждой sub model проставить?

3. В целом я делаю что-то реальное или хернёй занимаюсь? Что я не учёл, где проиграл?

Буду очень благодарен за ответы на мои вопросы.
 

Вложения

Сообщения
13
Реакции
2
iwonz, допилил так, чтобы и $hbox все вставлялись, но вопрос с ними актуален всё рано, ибо получаю такое

Код:
$hbox 0 "Bip01 Head" 0.000000 -8.030000 -5.430000 13.230000 4.190000 5.290000
$hbox 0 "Bip01 Head" -2.760000 -22.570000 -20.459999 31.250000 22.480000 20.980000
$hbox 0 "Bip01 Spine2" -14.990000 -7.700000 -9.130000 18.580000 0.000000 9.410000
$hbox 0 "Bip01 Head" -1.180000 -7.720000 -6.650000 14.300000 6.070000 6.140000
т.к. в разных моделях попадаются одинаковые названия $hbox. В данном примере это "Bip01 Head". Как с этим быть, пока не понимаю. Мб как-то для конкретного studio "N" можно $hbox ставить.
 

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

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