Rotate mesh towards Toss velocity

Hi apologies for coming again on this topic but I am facing some issue with Suggest Project Velocity with Custom Arc for the same project.The issue is
in Infinity Elven Ruins Level the Gun is Aiming wrongly. i.e it is aiming downwards. But in all other levels the gun is aiming correctly i.e in an arc. I don’t know whether it is level specific issue or issue with the code. Here in the Function AimDirection is the target position. I am trying to rotate my Gun in a direction so that it can hit a target while aiming in an arc. Is it a right way of doing?

void UMortarProAimingComponent::CalculateAimDirection(FVector& AimDirection)
{
        FVector OutLaunchVelocity = FVector::ZeroVector;
        UGameplayStatics::SuggestProjectileVelocity_CustomArc(GetWorld(), OutLaunchVelocity,
            Gun->GetCenterOfMass(),
            AimDirection);
            
        AimDirection.Z = OutLaunchVelocity.Z;
}

Here is the expected gun direction. In other levels it is working fine.

And Here is the actual gun direction in Infinity Elven ruins.

And After calculating the AimDirection I adjust the Gun Elevation.
Barrel->Elevate(AimDirection);

void UMortarProBarrelMeshComponent::Elevate(const FVector &ElevateDirection)
{

	FRotator BarrelDesiredRotation = UKismetMathLibrary::FindLookAtRotation(GetComponentLocation(), ElevateDirection);

	FRotator BarrelDeltaRotation = FMath::RInterpConstantTo(GetComponentRotation(), BarrelDesiredRotation, GetWorld()->DeltaTimeSeconds, 180);

	FRotator BarrelOriginalRotation = GetComponentRotation();

	//Only Require To Update Barrel Pitch
	float ProcessedElevation = FMath::Clamp<float>(BarrelDeltaRotation.Pitch, -30, 70);
	BarrelOriginalRotation.Pitch = ProcessedElevation;

	SetWorldRotation(BarrelOriginalRotation);
}