Вопрос Detecting Delta

Начинающий
Статус
Оффлайн
Регистрация
5 Июн 2021
Сообщения
100
Реакции[?]
6
Поинты[?]
1K
How delta detecting works? I am currently just bruting maxyaw with side detection. I am not getting bad result's but i still miss when target is in move because maxyaw seems to be bigger by far(when i say far i mean like 15 or 20 degrees) from he current desync angl
 
Нестандартное звание?
Пользователь
Статус
Оффлайн
Регистрация
23 Июл 2021
Сообщения
422
Реакции[?]
81
Поинты[?]
2K
How delta detecting works? I am currently just bruting maxyaw with side detection. I am not getting bad result's but i still miss when target is in move because maxyaw seems to be bigger by far(when i say far i mean like 15 or 20 degrees) from he current desync angl
use search in forum
 
Забаненный
Статус
Оффлайн
Регистрация
28 Окт 2022
Сообщения
40
Реакции[?]
6
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
How delta detecting works? I am currently just bruting maxyaw with side detection. I am not getting bad result's but i still miss when target is in move because maxyaw seems to be bigger by far(when i say far i mean like 15 or 20 degrees) from he current desync angl
try with lby <20
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
26 Янв 2020
Сообщения
378
Реакции[?]
157
Поинты[?]
9K
So, update animations with default data, and use aim_matrix_width_range from animstate with some calculations. Profit
 
Забаненный
Статус
Оффлайн
Регистрация
28 Ноя 2022
Сообщения
12
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
How delta detecting works? I am currently just bruting maxyaw with side detection. I am not getting bad result's but i still miss when target is in move because maxyaw seems to be bigger by far(when i say far i mean like 15 or 20 degrees) from he current desync angl
an example of how the game itself calculates the delta in CCSGOPlayerAnimState::SetUpVelocity
Пожалуйста, авторизуйтесь для просмотра ссылки.
but not actual part from game
actual this is:

C++:
    // if the player is looking far enough to either side, turn the feet to keep them within the extent of the aim matrix
    m_flFootYawLast = m_flFootYaw;
    m_flFootYaw = clamp( m_flFootYaw, -360.0f, 360.0f );
    float flEyeFootDelta = AngleDiff( m_flEyeYaw, m_flFootYaw );

    // narrow the available aim matrix width as speed increases
    float flAimMatrixWidthRange = Lerp( clamp( m_flSpeedAsPortionOfWalkTopSpeed, 0.0f, 1.0f ), 1.0f, Lerp( m_flWalkToRunTransition, 0.8f, 0.5f ) );

    if ( m_flAnimDuckAmount > 0.0f )
        flAimMatrixWidthRange = Lerp( m_flAnimDuckAmount * clamp( m_flSpeedAsPortionOfCrouchTopSpeed, 0.0f, 1.0f ), flAimMatrixWidthRange, 0.5f );
   
    float flTempYawMax = m_flAimYawMax * flAimMatrixWidthRange;
    float flTempYawMin = m_flAimYawMin * flAimMatrixWidthRange;

    if ( flEyeFootDelta > flTempYawMax )
        m_flFootYaw = m_flEyeYaw - fabsf( flTempYawMax );
    else if ( flEyeFootDelta < flTempYawMin )
        m_flFootYaw = m_flEyeYaw + fabsf( flTempYawMin );

    m_flFootYaw = AngleNormalize( m_flFootYaw );
 
Последнее редактирование:
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
26 Янв 2020
Сообщения
378
Реакции[?]
157
Поинты[?]
9K
Could you elaborate further?
To understand the calculation method itself, you can refer to the setup velocity code as well as setup aim matrix (or something like that, I don't remember the exact name of the function). As additional information, I recommend looking at the get_max_desync_delta code
 
Начинающий
Статус
Оффлайн
Регистрация
5 Июн 2021
Сообщения
100
Реакции[?]
6
Поинты[?]
1K
To understand the calculation method itself, you can refer to the setup velocity code as well as setup aim matrix (or something like that, I don't remember the exact name of the function). As additional information, I recommend looking at the get_max_desync_delta code
Will do man thanks
 
Начинающий
Статус
Оффлайн
Регистрация
5 Июн 2021
Сообщения
100
Реакции[?]
6
Поинты[?]
1K
an example of how the game itself calculates the delta in CCSGOPlayerAnimState::SetUpVelocity
Пожалуйста, авторизуйтесь для просмотра ссылки.
but not actual part from game
actual this is:

C++:
    // if the player is looking far enough to either side, turn the feet to keep them within the extent of the aim matrix
    m_flFootYawLast = m_flFootYaw;
    m_flFootYaw = clamp( m_flFootYaw, -360.0f, 360.0f );
    float flEyeFootDelta = AngleDiff( m_flEyeYaw, m_flFootYaw );

    // narrow the available aim matrix width as speed increases
    float flAimMatrixWidthRange = Lerp( clamp( m_flSpeedAsPortionOfWalkTopSpeed, 0.0f, 1.0f ), 1.0f, Lerp( m_flWalkToRunTransition, 0.8f, 0.5f ) );

    if ( m_flAnimDuckAmount > 0.0f )
        flAimMatrixWidthRange = Lerp( m_flAnimDuckAmount * clamp( m_flSpeedAsPortionOfCrouchTopSpeed, 0.0f, 1.0f ), flAimMatrixWidthRange, 0.5f );
  
    float flTempYawMax = m_flAimYawMax * flAimMatrixWidthRange;
    float flTempYawMin = m_flAimYawMin * flAimMatrixWidthRange;

    if ( flEyeFootDelta > flTempYawMax )
        m_flFootYaw = m_flEyeYaw - fabsf( flTempYawMax );
    else if ( flEyeFootDelta < flTempYawMin )
        m_flFootYaw = m_flEyeYaw + fabsf( flTempYawMin );

    m_flFootYaw = AngleNormalize( m_flFootYaw );
Thanks a lot man
an example of how the game itself calculates the delta in CCSGOPlayerAnimState::SetUpVelocity
Пожалуйста, авторизуйтесь для просмотра ссылки.
but not actual part from game
actual this is:

C++:
    // if the player is looking far enough to either side, turn the feet to keep them within the extent of the aim matrix
    m_flFootYawLast = m_flFootYaw;
    m_flFootYaw = clamp( m_flFootYaw, -360.0f, 360.0f );
    float flEyeFootDelta = AngleDiff( m_flEyeYaw, m_flFootYaw );

    // narrow the available aim matrix width as speed increases
    float flAimMatrixWidthRange = Lerp( clamp( m_flSpeedAsPortionOfWalkTopSpeed, 0.0f, 1.0f ), 1.0f, Lerp( m_flWalkToRunTransition, 0.8f, 0.5f ) );

    if ( m_flAnimDuckAmount > 0.0f )
        flAimMatrixWidthRange = Lerp( m_flAnimDuckAmount * clamp( m_flSpeedAsPortionOfCrouchTopSpeed, 0.0f, 1.0f ), flAimMatrixWidthRange, 0.5f );
  
    float flTempYawMax = m_flAimYawMax * flAimMatrixWidthRange;
    float flTempYawMin = m_flAimYawMin * flAimMatrixWidthRange;

    if ( flEyeFootDelta > flTempYawMax )
        m_flFootYaw = m_flEyeYaw - fabsf( flTempYawMax );
    else if ( flEyeFootDelta < flTempYawMin )
        m_flFootYaw = m_flEyeYaw + fabsf( flTempYawMin );

    m_flFootYaw = AngleNormalize( m_flFootYaw );
Could this be used in BuildYaw or SetupYaw? So i just replace EyeYaw with resolved angles?
 
Забаненный
Статус
Оффлайн
Регистрация
28 Ноя 2022
Сообщения
12
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу