Исходник Calc velocity via 11 animation layer

Забаненный
Статус
Оффлайн
Регистрация
15 Авг 2022
Сообщения
45
Реакции[?]
15
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
if ( record->m_flags.has( FL_ONGROUND ) )
{
    if ( record->m_layers.at( 6 ).m_weight == 0.f )
        velocity = vec3_t( 0.f, 0.f, 0.f );
    else
    {
        auto weight = record->m_layers.at( 11 ).m_weight;
        
        auto average_speed = velocity.length_2d( );
        
        auto speed_as_trans = 0.55f - ( 1.f - weight ) * 0.35f;
        
        // https://github.com/perilouswithadollarsign/cstrike15_src/blob/master/game/shared/cstrike15/csgo_playeranimstate.cpp#L1205-L1206
        if ( weight > 0.0f && weight < 1.0f || ( average_speed < speed_as_trans * 0.34f ) )
        {
            velocity.x /= average_speed;
            velocity.y /= average_speed;
            
            velocity.x *= speed_as_trans;
            velocity.y *= speed_as_trans;
        }
    }
}
 
Трахов
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции[?]
87
Поинты[?]
2K
C++:
if ( record->m_flags.has( FL_ONGROUND ) )
{
    if ( record->m_layers.at( 6 ).m_weight == 0.f )
        velocity = vec3_t( 0.f, 0.f, 0.f );
    else
    {
        auto weight = record->m_layers.at( 11 ).m_weight;
        
        auto average_speed = velocity.length_2d( );
        
        auto speed_as_trans = 0.55f - ( 1.f - weight ) * 0.35f;
        
        // https://github.com/perilouswithadollarsign/cstrike15_src/blob/master/game/shared/cstrike15/csgo_playeranimstate.cpp#L1205-L1206
        if ( weight > 0.0f && weight < 1.0f || ( average_speed < speed_as_trans * 0.34f ) )
        {
            velocity.x /= average_speed;
            velocity.y /= average_speed;
            
            velocity.x *= speed_as_trans;
            velocity.y *= speed_as_trans;
        }
    }
}
Чем это отличается от того же легендвара?
 
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
record->m_layers.at( 6 ).m_weight
хорошо, но я бы еще плейбекрейт чекнул, хотя немного юзлесс
velocity = vec3_t( 0.f, 0.f, 0.f );
разницы нет, но можно это было сделать так: velocity.Zero()
C++:
if ( record->m_flags.has( FL_ONGROUND ) )
{
    if ( record->m_layers.at( 6 ).m_weight == 0.f )
        velocity = vec3_t( 0.f, 0.f, 0.f );
    else
    {
        auto weight = record->m_layers.at( 11 ).m_weight;
       
        auto average_speed = velocity.length_2d( );
       
        auto speed_as_trans = 0.55f - ( 1.f - weight ) * 0.35f;
       
        // https://github.com/perilouswithadollarsign/cstrike15_src/blob/master/game/shared/cstrike15/csgo_playeranimstate.cpp#L1205-L1206
        if ( weight > 0.0f && weight < 1.0f || ( average_speed < speed_as_trans * 0.34f ) )
        {
            velocity.x /= average_speed;
            velocity.y /= average_speed;
           
            velocity.x *= speed_as_trans;
            velocity.y *= speed_as_trans;
        }
    }
}
а вообще можно по другому сделать получше
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,125
Реакции[?]
395
Поинты[?]
50K
хорошо, но я бы еще плейбекрейт чекнул, хотя немного юзлесс

разницы нет, но можно это было сделать так: velocity.Zero()

а вообще можно по другому сделать получше
Если оно работает, то переделай под себя
 
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
зачем мне лишний бесполезный метод ?
p.s. опять потрошитель ликает пасту которую ему дали :tearsofjoy: :tearsofjoy:
да если потрошителю дать ресольвер по велосити и сказать что он из скита он поверит, только главное чтою это ледорис или порчес сделал
 
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
да если потрошителю дать ресольвер по велосити и сказать что он из скита он поверит, только главное чтою это ледорис или порчес сделал
1661108439744.png
Переоправдался в хуй
 
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
26 Июл 2022
Сообщения
41
Реакции[?]
2
Поинты[?]
0
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
5 Июл 2019
Сообщения
219
Реакции[?]
23
Поинты[?]
6K
C++:
if ( record->m_flags.has( FL_ONGROUND ) )
{
    if ( record->m_layers.at( 6 ).m_weight == 0.f )
        velocity = vec3_t( 0.f, 0.f, 0.f );
    else
    {
        auto weight = record->m_layers.at( 11 ).m_weight;
       
        auto average_speed = velocity.length_2d( );
       
        auto speed_as_trans = 0.55f - ( 1.f - weight ) * 0.35f;
       
        // https://github.com/perilouswithadollarsign/cstrike15_src/blob/master/game/shared/cstrike15/csgo_playeranimstate.cpp#L1205-L1206
        if ( weight > 0.0f && weight < 1.0f || ( average_speed < speed_as_trans * 0.34f ) )
        {
            velocity.x /= average_speed;
            velocity.y /= average_speed;
           
            velocity.x *= speed_as_trans;
            velocity.y *= speed_as_trans;
        }
    }
}
6ix9ine gooba 0:43
 
Сверху Снизу