The values that come out the functions are noise value, by default between -1 and 1, for a given set of inputs.
Noa3,
You could get your desired sample back out by combining the results several times over in octaves. Where every octave uses a successively doubled set of inputs and successively halved outputs. See my example code below:
TArray<float> currentHeightMap;
currentHeightMap.SetNumZeroed(myGrid->numNodes);
for (int32 nodeIndex = 0; nodeIndex < myGrid->numNodes;++nodeIndex)
{
FVector nodeLocation = myGrid->getNodeLocationOnSphere(myGrid->gridLocationsM[nodeIndex]);
float magReduction = 1;
for (int32 octave = 0; octave < numOctaves;++octave)
{
currentHeightMap[nodeIndex] += USimplexNoiseBPLibrary::SimplexNoise3D(nodeLocation.X, nodeLocation.Y, nodeLocation.Z)/magReduction;
nodeLocation *= 2;
magReduction *= 2;
}
}
Note that I’m using it for 3d locations on a sphere, but the same idea would apply for any 2D or 3D location. Here’s a very rough height map I’m getting a sphere using this (note that I’m not blending between colors for the heights here just giving my self a rough idea of what I’m getting):