void FAnimNode_RotationOffsetBlendSpace::Evaluate(FPoseContext& Context)
{
	// Evaluate base pose
	BasePose.Evaluate(Context);

	// Evaluate MeshSpaceRotation additive blendspace
	FPoseContext MeshSpaceRotationAdditivePoseContext(Context);
	FAnimNode_BlendSpacePlayer::Evaluate(MeshSpaceRotationAdditivePoseContext);

	// Accumulate poses together
	FAnimationRuntime::AccumulateMeshSpaceRotationAdditiveToLocalPose(Context.Pose, MeshSpaceRotationAdditivePoseContext.Pose, Context.Curve, MeshSpaceRotationAdditivePoseContext.Curve, 1.f);

	// Resulting rotations are not normalized, so normalize here.
	Context.Pose.NormalizeRotations();
}
void FAnimNode_AimOffsetLookAt::Evaluate(FPoseContext& Context)
{
    // Evaluate base pose
    BasePose.Evaluate(Context);

    if (bIsLODEnabled && FAnimWeight::IsRelevant(Alpha) && (CVarAimOffsetLookAtEnable.GetValueOnAnyThread() == 1))
    {
        UpdateFromLookAtTarget(Context);

        // Evaluate MeshSpaceRotation additive blendspace
        FPoseContext MeshSpaceRotationAdditivePoseContext(Context);
        FAnimNode_BlendSpacePlayer::Evaluate(MeshSpaceRotationAdditivePoseContext);

        // Accumulate poses together
        FAnimationRuntime::AccumulateMeshSpaceRotationAdditiveToLocalPose(Context.Pose, MeshSpaceRotationAdditivePoseContext.Pose, Context.Curve, MeshSpaceRotationAdditivePoseContext.Curve, Alpha);

        // Resulting rotations are not normalized, so normalize here.
        Context.Pose.NormalizeRotations();
    }
}