Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Дайте преобразователь из vector в ray_t

  • Автор темы Автор темы infto0
  • Дата начала Дата начала
ne-wok staff???????????????????
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
24 Сен 2020
Сообщения
61
Реакции
14
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в шапке
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
Expand Collapse Copy
void ConvertFromVectorToRay_t::Convert( vector  )
{
    // lean the body into velocity derivative (acceleration) to simulate maintaining a center of gravity
    float flInterval = gpGlobals->curtime - m_flLastVelocityTestTime;
    if ( flInterval > 0.025f )
    {
        flInterval = MIN( flInterval, 0.1f );
        m_flLastVelocityTestTime = gpGlobals->curtime;

        m_vecTargetAcceleration = ( m_pPlayer->GetLocalVelocity() - m_vecVelocityLast ) / flInterval;
        m_vecTargetAcceleration.z = 0;

        m_vecVelocityLast = m_pPlayer->GetLocalVelocity();
    }

    m_vecAcceleration = Approach( m_vecTargetAcceleration, m_vecAcceleration, m_flLastUpdateIncrement * 800.0f );

//#ifdef CLIENT_DLL
//    debugoverlay->AddLineOverlay( m_vecPositionCurrent, m_vecPositionCurrent + m_vecAcceleration, 255,0,0, 255, 1, m_flLastUpdateIncrement );
//#else
//    debugoverlay->AddLineOverlay( m_vecPositionCurrent, m_vecPositionCurrent + m_vecAcceleration, 0,0,255, 255, 1.5, m_flLastUpdateIncrement );
//#endif

    QAngle temp;
    VectorAngles( m_vecAcceleration, Vector(0,0,1), temp );
    
    m_flAccelerationWeight = clamp( (m_vecAcceleration.Length() / CS_PLAYER_SPEED_RUN) * m_flSpeedAsPortionOfRunTopSpeed, 0, 1 );
    m_flAccelerationWeight *= (1.0f - m_flLadderWeight);

    m_tPoseParamMappings[ PLAYER_POSE_PARAM_LEAN_YAW ].SetValue( m_pPlayer, AngleNormalize( m_flFootYaw - temp[YAW] ) );

    if ( GetLayerSequence( ANIMATION_LAYER_LEAN ) <= 0 )
    {
        MDLCACHE_CRITICAL_SECTION();
        SetLayerSequence( ANIMATION_LAYER_LEAN, m_pPlayer->LookupSequence( "lean" ) );
    }

    SetLayerWeight( ANIMATION_LAYER_LEAN, m_flAccelerationWeight );
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
Expand Collapse Copy
void ConvertFromVectorToRay_t::Convert( vector  )
{
    // lean the body into velocity derivative (acceleration) to simulate maintaining a center of gravity
    float flInterval = gpGlobals->curtime - m_flLastVelocityTestTime;
    if ( flInterval > 0.025f )
    {
        flInterval = MIN( flInterval, 0.1f );
        m_flLastVelocityTestTime = gpGlobals->curtime;

        m_vecTargetAcceleration = ( m_pPlayer->GetLocalVelocity() - m_vecVelocityLast ) / flInterval;
        m_vecTargetAcceleration.z = 0;

        m_vecVelocityLast = m_pPlayer->GetLocalVelocity();
    }

    m_vecAcceleration = Approach( m_vecTargetAcceleration, m_vecAcceleration, m_flLastUpdateIncrement * 800.0f );

//#ifdef CLIENT_DLL
//    debugoverlay->AddLineOverlay( m_vecPositionCurrent, m_vecPositionCurrent + m_vecAcceleration, 255,0,0, 255, 1, m_flLastUpdateIncrement );
//#else
//    debugoverlay->AddLineOverlay( m_vecPositionCurrent, m_vecPositionCurrent + m_vecAcceleration, 0,0,255, 255, 1.5, m_flLastUpdateIncrement );
//#endif

    QAngle temp;
    VectorAngles( m_vecAcceleration, Vector(0,0,1), temp );
   
    m_flAccelerationWeight = clamp( (m_vecAcceleration.Length() / CS_PLAYER_SPEED_RUN) * m_flSpeedAsPortionOfRunTopSpeed, 0, 1 );
    m_flAccelerationWeight *= (1.0f - m_flLadderWeight);

    m_tPoseParamMappings[ PLAYER_POSE_PARAM_LEAN_YAW ].SetValue( m_pPlayer, AngleNormalize( m_flFootYaw - temp[YAW] ) );

    if ( GetLayerSequence( ANIMATION_LAYER_LEAN ) <= 0 )
    {
        MDLCACHE_CRITICAL_SECTION();
        SetLayerSequence( ANIMATION_LAYER_LEAN, m_pPlayer->LookupSequence( "lean" ) );
    }

    SetLayerWeight( ANIMATION_LAYER_LEAN, m_flAccelerationWeight );
}
спасибо
 
Назад
Сверху Снизу