RESOURCE: Unreal Engine Noise Layering Plugin
(Originally released Nov 2024)
https://github.com/hippowombat/FastNoiseLayeringPlugin
FastNoiseLayeringPlugin is a plugin I released in November 2024, intended to extend Rockam’s FastNoiseWrapper for Unreal Engine, which in turn is a UE C++/Blueprint friendly wrapper for Auburn’s Fast Noise implementation.
The main goal is to allow an easy to use data type for cumulative noise layers that are successively blended with math functions like add, subtract, multiply, and divide.
Usage
Blueprints
Before blending noises, call the Init Noise Wrappers function. The Noise Wrappers input pin (array of FastNoiseWrapper objects) should be a function-local variable, while Noise Layers can/should be an Actor/Class variable that you can edit via the Details panel.
Once the noise has been initialized, you can simply supply the noise wrappers & your noise layer array (array of NoiseLayerType structs) along with a location to get a mathematically blended noise value from your list of noise layers.
Blend Noises functions step through Noise Layers array in order, performing the Noise Blend Function (mathematical operation) of the current layer against the accumulated value of previous layers.
For example, a Noise Layers array with entry 1 set to Subtract will subtract the noise value at the supplied position from the noise value at the supplied position from entry 0.
C++
The same functions/FFN_NoiseLayerType struct type can be exposed to C++ by including FastNoiseLayeringFunctions.h in your class's header file.
#include “FastNoiseLayeringFunctions.h”
UFastNoiseLayeringFunctions::InitNoiseWrappers(this, NoiseWrappers, NoiseLayers, Seed, NoiseScaleOV);
FVector SamplePosition; float NoiseValue = UFastNoiseLayeringFunctions::BlendNoises(SamplePosition, NoiseWrappers, NoiseLayers);