Здарова, народ!
Вот какая штука:
Хотел сделать, чтобы Комбин (npc_combine_s) из hl2 стрелял подствольными гранатами. Разрабы даже для этого анимацию оставили ACT_RANGE_ATTACK_AR2_GRENADE, shootAR2g. Она предполагалась для какого-то grenadelauncher, но для smg1 тоже подходит.
Код написал, а вот с моделью пришлось повозиться:
они там event просрали на этой анимации и fps, ну и название пришлось поменять на ACT_COMBINE_LAUNCH_GRENADE.
Декомпилировал сначала combine_soldier_anims, пробовал StudioCompiler и Crowbar. Crowbar совершенно не умеет декомпилировать анимации в smd - расписывать не буду, но в общем полное говно получается, зато делает хорошие qc и qci. StudioCompiler напротив - делает плохой qc, анимации не идеально, но лучше, чем Crowbar.
Компилировать combine_soldier_anims соответственно - получается какаха - бесполезно.
Поэтому беру shootAR2g.smd - переименовываю значит на всякий пожарный в grenLaunch.smd и пихаю в сам декомпилированный combine_soldier.
И вроде всё получается хорошо, кроме рэгдолла: он как бы не collision (не твёрдый) сам для себя получается: руки проваливаются сквозь тело, если лежит на боку.
картинка:
http://rghost.net/8NJYzdT6h.view
Забавно, я такое в последний раз видел в старенькой версии ер1 с оригинального диска.
Пробовал компиляторы StudioMDL, Crowbar, GUIStudioMDL - результат один и тот же.
Так вот, подскажите пожалуйста как сказать рэгдоллу модели, что он должен быть твёрдым для самого себя.
------------------------------------------------------------
Сам спросил - сам отвечаю
Виноват *.phy файл. Обычно он не компилируется совсем, или же компилируется криво. Поэтому если вам не надо менять физику модели, а просто anim event дописать, как мне, то просто заменяйте *.phy на оригинальный из игры.
Сейчас у халфы один движок - эпизода 2, который не сильно отличен от 2007-го. Но если компилятор даёт выбор ер1 или orangebox - для старых версий халфы 2003 - 2005 используйте ер1, для 2007 - 2009 - orangebox. Оказывается, это тоже важно, иначе анимация может глючить.
На сколько я понял - какой компилятор использовать - не важно. Все они нормально компилируют, а как декомпилируют - упомянул выше, когда задавал вопрос.