ApplyAdditive node - alpha greater than 1.0

Hi all,

Hoping someone can shed some light or point to what’s going wrong here.

I have an ApplyAdditive node driven by a float for a breathing anim. All is well if the alpha is between 0 to 1, but I can’t increase this alpha past 1 because of a hard-coded clamp in AnimNode_ApplyAdditive.cpp (I am in 4.27 for ref):

		case EAnimAlphaInputType::Float:
			ActualAlpha = AlphaScaleBias.ApplyTo(AlphaScaleBiasClamp.ApplyTo(Alpha, Context.GetDeltaTime()));
			break;

In InputScaleBias.cpp (called from AlphaScaleBias):

float FInputScaleBias::ApplyTo(float Value) const
{
	return FMath::Clamp<float>( Value * Scale + Bias, 0.0f, 1.0f );
}

The curve input type skips this however (no call to AlphaScaleBias):

		case EAnimAlphaInputType::Curve:
			if (UAnimInstance* AnimInstance = Cast<UAnimInstance>(Context.AnimInstanceProxy->GetAnimInstanceObject()))
			{
				ActualAlpha = AlphaScaleBiasClamp.ApplyTo(AnimInstance->GetCurveValue(AlphaCurveName), Context.GetDeltaTime());
			}
			break;

Sadly though, if I have an alpha > 1, while it isn’t clamped, the additive anim isn’t applied correctly anymore, it just bounces the entire mesh up and down.

Has anyone had any success scaling additives beyond 1.0? Thanks for the help!