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

41 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Channels/MovieSceneDoublePerlinNoiseChannel.h"
#include "MovieScene.h"
#include "MovieSceneSection.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(MovieSceneDoublePerlinNoiseChannel)
FMovieSceneDoublePerlinNoiseChannel::FMovieSceneDoublePerlinNoiseChannel()
{
}
double FMovieSceneDoublePerlinNoiseChannel::Evaluate(double InSeconds) const
{
return Evaluate(PerlinNoiseParams, InSeconds);
}
bool FMovieSceneDoublePerlinNoiseChannel::Evaluate(const UMovieSceneSection* InSection, FFrameTime InTime, double& 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;
}
double FMovieSceneDoublePerlinNoiseChannel::Evaluate(const FPerlinNoiseParams& InParams, double InSeconds)
{
double Result = static_cast<double>(FMath::PerlinNoise1D((InSeconds + InParams.Offset) * InParams.Frequency));
Result *= InParams.Amplitude;
return Result;
}