void UMovieSceneParameterSection::Eval( float Position, TArray<FScalarParameterNameAndValue>& OutScalarValues, TArray<FVectorParameterNameAndValue>& OutVectorValues, TArray<FColorParameterNameAndValue>& OutColorValues ) const { for ( const FScalarParameterNameAndCurve& ScalarParameterNameAndCurve : ScalarParameterNamesAndCurves ) { OutScalarValues.Add( FScalarParameterNameAndValue( ScalarParameterNameAndCurve.ParameterName, ScalarParameterNameAndCurve.ParameterCurve.Eval( Position ) ) ); } for ( const FVectorParameterNameAndCurves& VectorParameterNameAndCurves : VectorParameterNamesAndCurves ) { OutVectorValues.Add( FVectorParameterNameAndValue( VectorParameterNameAndCurves.ParameterName, FVector( VectorParameterNameAndCurves.XCurve.Eval( Position ), VectorParameterNameAndCurves.YCurve.Eval( Position ), VectorParameterNameAndCurves.ZCurve.Eval( Position ) ) ) ); } for ( const FColorParameterNameAndCurves& ColorParameterNameAndCurves : ColorParameterNamesAndCurves ) { OutColorValues.Add( FColorParameterNameAndValue( ColorParameterNameAndCurves.ParameterName, FLinearColor( ColorParameterNameAndCurves.RedCurve.Eval( Position ), ColorParameterNameAndCurves.GreenCurve.Eval( Position ), ColorParameterNameAndCurves.BlueCurve.Eval( Position ), ColorParameterNameAndCurves.AlphaCurve.Eval( Position ) ) ) ); } }
void UMovieSceneMaterialTrack::Eval( float Position, TArray<FScalarParameterNameAndValue>& OutScalarValues, TArray<FVectorParameterNameAndValue>& OutVectorValues ) const { for ( UMovieSceneSection* Section : Sections ) { UMovieSceneMaterialParameterSection* MaterialParameterSection = Cast<UMovieSceneMaterialParameterSection>( Section ); if ( MaterialParameterSection != nullptr ) { for ( const FScalarParameterNameAndCurve& ScalarParameterNameAndCurve : *MaterialParameterSection->GetScalarParameterNamesAndCurves() ) { OutScalarValues.Add( FScalarParameterNameAndValue( ScalarParameterNameAndCurve.ParameterName, ScalarParameterNameAndCurve.ParameterCurve.Eval( Position ) ) ); } for ( const FVectorParameterNameAndCurves& VectorParameterNameAndCurves : *MaterialParameterSection->GetVectorParameterNamesAndCurves() ) { OutVectorValues.Add( FVectorParameterNameAndValue( VectorParameterNameAndCurves.ParameterName, FLinearColor( VectorParameterNameAndCurves.RedCurve.Eval( Position ), VectorParameterNameAndCurves.GreenCurve.Eval( Position ), VectorParameterNameAndCurves.BlueCurve.Eval( Position ), VectorParameterNameAndCurves.AlphaCurve.Eval( Position ) ) ) ); } } } }