FreeSlave писал: Мне нужно менять боди без смены анимации
Я в своё время это прекрасно проделывал на спирите 1.9 в ItemPostFrame. Всё нормально менялось. Так что клиентские пушки однозначно под нож, а систему скинов и бодей из Xash Weapon System в студию.
hgrunt_2020 проверить m_pCurrentEntity на вьюмодель, а потом крутить у этой энтити контроллер. Положение контроллера слать на клиент пользовательской мессагой. Наверное, для вьмоделей можно даже сделать блендинг между анимациями. Например, чтобы не было резкого перехода между idle/fidget и reload.
hgrunt_2020 у cl_entity_t есть структуры entity_state_t и latchedvars_t. В первых (baseline, prevstate, curstate) хранятся данные, получаемые по сети с сервера. Секвенции, позиции бонеконтроллеров и всякое прочее. Во второй структуре (latched) хранится почти то же самое, но с некоторой задержкой, то есть на текущий кадр информация уже устаревшая. Не знаю с какой задержкой, это надо глядеть сорцы ксашдвижка. (А вообще, в StudioSetupBones эта задержка указана: m_pCurrentEntity->latched.sequencetime + 0.2, 0.2 секунды) Так вот, StudioModelRenderer смешивает (to blend) актуальную анимацию с устаревшей, усредняя (to interpolate) положения костей. Именно поэтому мы видим плавные переходы между анимациями у монстров. Для вьюмоделей это не сделано за ненадобностью, потому что не особо режет глаз. Теоретически, можно самостоятельно, своими шаловливыми ручками заполнять latched для вьюмодели в текущем кадре, а в следующем делать интерполяцию в StudioSetupBones. Насколько мне известно, движок этого не делает.
Значит задача такая есть 2 модели с одинаковым скелетов но разным порядком костей. Ну и короче мне надо чтобы пересадить анимации с одной модели на вторую и возникает такой вопрос - Как можно свапать кости подскажите или может бытт есть прога для этого?