Гайд НедоГайд по теме: Слои анимации в кс го [animstate_layer_t].

<3nca
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
23 Янв 2020
Сообщения
144
Реакции
46
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну лан, для начала движек сурс поддерживает 15 слоев анимаций, но кс го работает на 13.
И так, я хотел узнать какой слой за что отвечает, но мне было лень разбирать кс, ибо мои глаза вылезут из орбит и по этому я почекал, что и как работает лишь в 1м файле, но этого хватило, чтобы иметь минимальное представление о том или ином слое. Если что-то не правильно или не полно, а я уверен, что так, ибо я чекал лишь по 1му файлу, то прошу дополнять.

Представляю вашему внимаю боль для ваших глаз:

Код:
Expand Collapse Copy
//https://github.com/perilouswithadollarsign/cstrike15_src/blob/29e4c1fda9698d5cebcdaf1a0de4b829fa149bf8/game/shared/cstrike15/csgo_playeranimstate.h#L23
enum animstate_layer_t
{
    ANIMATION_LAYER_AIMMATRIX = 0, //ну это ебать аим матрица
    ANIMATION_LAYER_WEAPON_ACTION, // в DoAnimationEvent() инициализируется. При броске гранат == ACT_CSGO_FIRE_PRIMARY, при PLAYERANIMEVENT_FIRE_GUN_PRIMARY_OPT == ACT_CSGO_FIRE_PRIMARY_OPT_1, при PLAYERANIMEVENT_FIRE_GUN_PRIMARY_OPT_SPECIAL1 == ACT_CSGO_FIRE_PRIMARY_OPT_2, при PLAYERANIMEVENT_FIRE_GUN_SECONDARY если снайперская винтовка == ACT_CSGO_FIRE_PRIMARY, для другого == ACT_CSGO_FIRE_SECONDARY, и тд.
    ANIMATION_LAYER_WEAPON_ACTION_RECROUCH, // в SetUpWeaponAction() инициализируется. ПРИ m_nAnimstateModelVersion < 2: Если чел в приседании, но не сел, то weight лаера ставится ANIMATION_LAYER_WEAPON_ACTION.weight * duck_ammount. Если чел сел, то weight == 0. ПРИ m_nAnimstateModelVersion > 2: weight ставится из flTargetRecrouchWeight рассчитанной в функции. В ЛЮБОМ СЛУЧАЕ ЛАЕР СТАВИТСЯ ИЗ m_pPlayer->LookupSequence("recrouch_generic").
    ANIMATION_LAYER_ADJUST, //в SetUpVelocity() инициализируется. На серверной части: если чел активно бежит, то парсится из ACT_CSGO_IDLE_TURN_BALANCEADJUST, а если чел в остановке то из ACT_CSGO_IDLE_ADJUST_STOPPEDMOVING. https://github.com/perilouswithadollarsign/cstrike15_src/blob/29e4c1fda9698d5cebcdaf1a0de4b829fa149bf8/game/shared/cstrike15/csgo_playeranimstate.cpp#L2301
    ANIMATION_LAYER_MOVEMENT_JUMP_OR_FALL, //в DoAnimationEvent() и в SetUpMovement() инициализируется из ACT_CSGO_JUMP и означает, что прыжок определенно произошел. Ставится из ACT_CSGO_FALL, если человек не прыгает и не в прыжке. Его параметры ставятся в SetUpMovement(), на пример его вес на лестнице будет градиентом при прыжке или если ANIMATION_LAYER_MOVEMENT_LAND_OR_CLIMB, то будет 0, или фейдом при приземлении.
    ANIMATION_LAYER_MOVEMENT_LAND_OR_CLIMB, //в SetUpMovement() инициализируется. Если человек на лестнице (на сервере если в текущий кадр, то из ACT_CSGO_CLIMB_LADDER), на клиенте собственно тоже ACT_CSGO_CLIMB_LADDER. Все ничего не знаю, это если чел на земле... xD
    ANIMATION_LAYER_MOVEMENT_MOVE, //ну это короч всякие мувименты.
    ANIMATION_LAYER_MOVEMENT_STRAFECHANGE, //в SetUpMovement() инициализируется. Обновляется когда m_pPlayer->LookupSequence("strafe") != -1, это при изменении стрейфа.
    ANIMATION_LAYER_WHOLE_BODY, // в DoAnimationEvent() инициализируется. Нужна в кс для: анимаций дефьюза, плента бомбы (закоменчены зоны с байзоной и твичем) в функции SetUpWholeBodyAction(). Если ивент == PLAYERANIMEVENT_FIRE_GUN_PRIMARY ии это бомба, то ANIMATION_LAYER_WHOLE_BODY == ACT_CSGO_PLANT_BOMB.
    ANIMATION_LAYER_FLASHED, //слой, когда игрок находится под флешкой.
    ANIMATION_LAYER_FLINCH, //Инициализируется из m_pPlayer->LastHitGroup() == HITGROUP_HEAD) ? ACT_CSGO_FLINCH_HEAD : ACT_CSGO_FLINCH в SetUpFlinch(). Я так пологаю это дерганья игрока, когда в него попадают.
    ANIMATION_LAYER_ALIVELOOP, //инициализируется из ACT_CSGO_ALIVE_LOOP(как минимум на сервере) в SetUpAliveloop(). Слой анимации, когда игрок меняет оружие.
    ANIMATION_LAYER_LEAN, //инициализируется из m_pPlayer->LookupSequence("lean") в SetUpLean(). Слой опоры движения, на пример центр тяжести и тд.
    ANIMATION_LAYER_COUNT, //просто максимальное кол-во слоев для кс го, он ставится для SetNumAnimOverlays() в Reset().
};

Мемный вопрос: Какова члена анимация плентинга бомбы находится в евенте броска гранаты в DoAnimationEvent? :joycat: :joycat:
Я обожаю валв с их мемами)))
__________________________________________________________________________
With love f33nRy <3
 
Последнее редактирование:
а гайд то где
 
4:19
1600375552840.png
4:20
1600375573095.png
 
Это и есть гайд...
Гайд (guide, гид) — план, руководство, инструкция, справочник (чаще всего, для начинающих), описывающей порядок действий для достижения какой-то цели или гид – путеводитель.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Гайд (guide, гид) — план, руководство, инструкция, справочник (чаще всего, для начинающих), описывающей порядок действий для достижения какой-то цели или гид – путеводитель.
Так это же не гайд, это недогайд)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так я об этом и говорил...
так там PLAYERANIMEVENT_FIRE_GUN_PRIMARY
они просто сделали 1 доп евент для бомбы вместо 2 и проверяют тип оружия ----___------
лучше кншн было сделать 2 евента но и так тоже можно.....
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так там PLAYERANIMEVENT_FIRE_GUN_PRIMARY
они просто сделали 1 доп евент для бомбы вместо 2 и проверяют тип оружия ----___------
лучше кншн было сделать 2 евента но и так тоже можно.....
Так и я блять об этом же.
Пс, мне ничего не мешает исправить это)
 
Назад
Сверху Снизу