Гайд Улучшаем точность аним ресольвера

  • Автор темы Автор темы miracl3
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
20 Янв 2018
Сообщения
589
Реакции
397
Чтобы получить m_flPrimaryCycle, который приходит с севрера, нужно произвести обратные расчеты, в точности как и с фиксами, которые я постил раннее
Если открыть игровой код, можно увидеть просчет playback rate для анимации:
1689423831454.png


Отсюда следует, что нужно убрать flLocalCycleIncrement из расчета этого значения
Чтобы это сделать, нужно ребилднуть расчеты, которые также показаны на скрине выше

Надеюсь, что я вам помог с данной информацией сделать ваш чит лучше :)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Чтобы получить m_flPrimaryCycle, который приходит с севрера, нужно произвести обратные расчеты, в точности как и с фиксами, которые я постил раннее
Если открыть игровой код, можно увидеть просчет playback rate для анимации:
Посмотреть вложение 253445

Отсюда следует, что нужно убрать flLocalCycleIncrement из расчета этого значения
Чтобы это сделать, нужно ребилднуть расчеты, которые также показаны на скрине выше

Надеюсь, что я вам помог с данной информацией сделать ваш чит лучше :)
к слову если ты байпаснешь flLocalCycleIncrement то это тебе ничего не даст..
так как в игре за 6 лет много что изменилось( да, да этот анимстейт от 17 года.. )
бтв вот актуальный парт данного кусочка:
и как можно заметить вычисляется он совсем по другому

C++:
Expand Collapse Copy
float feet_cycle_rate = 0.0;
if ( state->m_speed_2d > 0.0 )
{
    float sequence_cycle_rate = player->get_sequence_cycle_rate( sequence );
    float move_distance_to_rate = ( 1.0 / sequence_cycle_rate );
    
    if ( move_distance_to_rate <= 0.001 )
        move_distance_to_rate = 0.001;
    
    float speed_multiplier = state->m_speed_2d / move_distance_to_rate;
    feet_cycle_rate = ( 1.0 - ( state->m_ground_fraction * 0.15 ) ) * ( speed_multiplier * sequence_cycle_rate );
}

float feet_cycle_playback_rate = ( state->m_last_update_time_delta * feet_cycle_rate );
state->update_anim_layer( feet_cycle_playback_rate, ANIMATION_LAYER_MOVEMENT_MOVE, sequence, std::clamp( new_cycle_weight_feet_smoothing, 0.0, 1.0 ), state->m_feet_cycle );
 
к слову если ты байпаснешь flLocalCycleIncrement то это тебе ничего не даст..
так как в игре за 6 лет много что изменилось( да, да этот анимстейт от 17 года.. )
бтв вот актуальный парт данного кусочка:
и как можно заметить вычисляется он совсем по другому

C++:
Expand Collapse Copy
float feet_cycle_rate = 0.0;
if ( state->m_speed_2d > 0.0 )
{
    float sequence_cycle_rate = player->get_sequence_cycle_rate( sequence );
    float move_distance_to_rate = ( 1.0 / sequence_cycle_rate );
   
    if ( move_distance_to_rate <= 0.001 )
        move_distance_to_rate = 0.001;
   
    float speed_multiplier = state->m_speed_2d / move_distance_to_rate;
    feet_cycle_rate = ( 1.0 - ( state->m_ground_fraction * 0.15 ) ) * ( speed_multiplier * sequence_cycle_rate );
}

float feet_cycle_playback_rate = ( state->m_last_update_time_delta * feet_cycle_rate );
state->update_anim_layer( feet_cycle_playback_rate, ANIMATION_LAYER_MOVEMENT_MOVE, sequence, std::clamp( new_cycle_weight_feet_smoothing, 0.0, 1.0 ), state->m_feet_cycle );
это абсолютно индетичный код, ну да ладно...
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
дааа, сто процентов индетичный код

Посмотреть вложение 253456
вот эта часть -> да
все что ниже -> нет
кроме state->update_anim_Layer( ... )
кроме буквально одной константы (вместо 0.85f 0.15, все то же самое)

даже заинлайненые фукнции внутри из себя представляют то, что юзается в сурсах игры

1689433029041.png

1689433035378.png



1689433044253.png

1689433085812.png

1689433092287.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кроме буквально одной константы (вместо 0.85f 0.15, все то же самое)

даже заинлайненые фукнции внутри из себя представляют то, что юзается в сурсах игры

Посмотреть вложение 253457
Посмотреть вложение 253458


Посмотреть вложение 253459
Посмотреть вложение 253460
Посмотреть вложение 253461
я просто хочу тебе сказать о том что данный участок код скипнешь ты его или нет
ничего не изменится
хочешь улучить свой аним ресольвер -> исправь делей который появляется на анчоке
 
Чтобы получить m_flPrimaryCycle, который приходит с севрера, нужно произвести обратные расчеты, в точности как и с фиксами, которые я постил раннее
Если открыть игровой код, можно увидеть просчет playback rate для анимации:
Посмотреть вложение 253445

Отсюда следует, что нужно убрать flLocalCycleIncrement из расчета этого значения
Чтобы это сделать, нужно ребилднуть расчеты, которые также показаны на скрине выше

Надеюсь, что я вам помог с данной информацией сделать ваш чит лучше :)
а это будет в аирфлоу?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу