void FAnimationRuntime::BlendTwoPosesTogether( const FCompactPose& SourcePose1, const FCompactPose& SourcePose2, const FBlendedCurve& SourceCurve1, const FBlendedCurve& SourceCurve2, const float WeightOfPose1, /*out*/ FCompactPose& ResultPose, /*out*/ FBlendedCurve& ResultCurve) { BlendPose<ETransformBlendMode::Overwrite>(SourcePose1, ResultPose, WeightOfPose1); BlendPose<ETransformBlendMode::Accumulate>(SourcePose2, ResultPose, 1.f - WeightOfPose1); // Ensure that all of the resulting rotations are normalized ResultPose.NormalizeRotations(); ResultCurve.Blend(SourceCurve1, SourceCurve2, 1.f - WeightOfPose1); }