Files
UnrealEngine/Engine/Source/Runtime/MovieSceneTracks/Private/Channels/MovieSceneFloatPerlinNoiseChannel.cpp
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

41 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Channels/MovieSceneFloatPerlinNoiseChannel.h"
#include "MovieScene.h"
#include "MovieSceneSection.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(MovieSceneFloatPerlinNoiseChannel)
FMovieSceneFloatPerlinNoiseChannel::FMovieSceneFloatPerlinNoiseChannel()
{
}
float FMovieSceneFloatPerlinNoiseChannel::Evaluate(double InSeconds) const
{
return Evaluate(PerlinNoiseParams, InSeconds);
}
bool FMovieSceneFloatPerlinNoiseChannel::Evaluate(const UMovieSceneSection* InSection, FFrameTime InTime, float& OutValue) const
{
if (ensure(InSection))
{
UMovieScene* MovieScene = InSection->GetTypedOuter<UMovieScene>();
if (MovieScene)
{
const FFrameRate TickResolution = MovieScene->GetTickResolution();
const double Seconds = TickResolution.AsSeconds(InTime);
OutValue = Evaluate(Seconds);
return true;
}
}
return false;
}
float FMovieSceneFloatPerlinNoiseChannel::Evaluate(const FPerlinNoiseParams& InParams, double InSeconds)
{
float Result = FMath::PerlinNoise1D((InSeconds + InParams.Offset) * InParams.Frequency);
Result *= InParams.Amplitude;
return Result;
}