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

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

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

Код:
//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
 
Последнее редактирование:
<3nca
Забаненный
Статус
Оффлайн
Регистрация
23 Янв 2020
Сообщения
137
Реакции[?]
46
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
t.me/lnk1181shop
Участник
Статус
Оффлайн
Регистрация
16 Авг 2019
Сообщения
493
Реакции[?]
413
Поинты[?]
1K
Эксперт
Статус
Оффлайн
Регистрация
24 Апр 2018
Сообщения
1,488
Реакции[?]
929
Поинты[?]
63K
Это и есть гайд...
Гайд (guide, гид) — план, руководство, инструкция, справочник (чаще всего, для начинающих), описывающей порядок действий для достижения какой-то цели или гид – путеводитель.
 
<3nca
Забаненный
Статус
Оффлайн
Регистрация
23 Янв 2020
Сообщения
137
Реакции[?]
46
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Гайд (guide, гид) — план, руководство, инструкция, справочник (чаще всего, для начинающих), описывающей порядок действий для достижения какой-то цели или гид – путеводитель.
Так это же не гайд, это недогайд)
 
<3nca
Забаненный
Статус
Оффлайн
Регистрация
23 Янв 2020
Сообщения
137
Реакции[?]
46
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
t.me/lnk1181shop
Участник
Статус
Оффлайн
Регистрация
16 Авг 2019
Сообщения
493
Реакции[?]
413
Поинты[?]
1K
Так я об этом и говорил...
так там PLAYERANIMEVENT_FIRE_GUN_PRIMARY
они просто сделали 1 доп евент для бомбы вместо 2 и проверяют тип оружия ----___------
лучше кншн было сделать 2 евента но и так тоже можно.....
 
<3nca
Забаненный
Статус
Оффлайн
Регистрация
23 Янв 2020
Сообщения
137
Реакции[?]
46
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так там PLAYERANIMEVENT_FIRE_GUN_PRIMARY
они просто сделали 1 доп евент для бомбы вместо 2 и проверяют тип оружия ----___------
лучше кншн было сделать 2 евента но и так тоже можно.....
Так и я блять об этом же.
Пс, мне ничего не мешает исправить это)
 
Сверху Снизу