Loading...

Logo
DocumentationBehaviorsObjectNoise Map
Object

Noise Map

Last updated June 28, 2023

Overview

//www.youtube-nocookie.com/embed/CGrGToNv3Ak

The Noise Map behavior creates and manipulates noise maps. The action is done upon execution, which works similarly to the Render Texture behavior. A noise map is a 2D grid of values that range from -1 to 1. Noise maps can be used to create textures and procedurally generated content in your project. Normally, noise maps are displayed in black and white, where -1 represents black and +1 represents white.

The image below shows a noise map with its values at some locations.

9C9E743D-9941-4F47-AA02-6BBE4FE66E68.png

It all starts with a 3D noise map that is generated from this behavior, then it can be transformed, modified and such. The 3D noise map can have its values be read using the Get Noise Value behavior. Finally, the noise map can be converted into a final texture (2D noise map) that can be used as a graphic, which can also have its values read from.

Selecting the Mode

The Noise Map behavior has 7 modes to choose from.

By default, it is set to Create Noise Map. You can change the mode by tapping on the dropdown located under the preview box and selecting the preferred mode.

Creating Noise Maps

The Create Noise Map mode will create a new noise map based on the inputs given when the behavior is executed. You can select the noise type you want to use, each having their own properties that you can edit to achieve the appearance you are going for.

Noise Types
PerlinBillowRidgedSpheres
C5592679-0DDE-4427-BA2C-1820F537E647.pngD7F6333C-B891-4A8A-A1A1-A8F95AD7F9BE.pngFF88098A-0928-44A3-A61F-46D9B52F3FC9.png95D7E3DC-BAC0-4B48-A874-2D8817B4025C.png
VoronoiCylindersCheckerboardConstant
5D8A6D46-B1E3-46A2-A324-E5FEAC2195B9.png95D7E3DC-BAC0-4B48-A874-2D8817B4025C.png09DA11DE-CC25-49D7-86BC-9AB000006A0D.png6C87FF54-9D44-491C-BDD6-360D74259B1D.png

NOTE: Cylinders noise and spheres noise may appear the same, but they're structurally different! If you move them through the y-axis, you'll see different results. This is because the cross-section of a cylinder visually stays the same whereas the cross-section of a sphere visually changes as you move through them.

Perlin, Billow and Ridged Noise Types

All of these noise types use the same algorithm for creating the noise map, hence why they have the same exact patterns. The difference between them is that the values are remapped, so they appear different. All the properties have the same effect on all of these noise types.

PropertyDescription
Seed

A number determining the starting conditions for the creation of the noise map. Using the same seed will result in the exact same noise map. Using a different seed will result in a different noise map.

Seed: 1

C97EA569-53B3-4E9A-8C5C-50A65234EAC8.png

Seed: 2

6E337A16-70EB-4450-A113-D6BCE6110E21.png

Seed: 3

9B8F2FA5-0434-4B67-A058-6BD8221918BB.png

Frequency

The number and size of distinct features in any given area of generated noise. Using a larger frequency number will result in more features present in the same area.

Frequency: 0.1

386EFCE1-3FBD-43D8-9F2F-C6FD61643847.png

Frequency: 0.25

A31B7C6B-2A2C-4701-8AA0-02DB9E99F4AD.png

Frequency: 0.5

70C2070A-DBB5-4C35-9501-9A6C27583B30.png

Octave Count

The number of additional noise layers to add to the noise map.

Octave Count: 1

Persistence: 0.8

Lacunarity: 1.1

04DEBC63-462E-482B-AE50-0165CD97C05C.png

Octave Count: 2

Persistence: 0.8

Lacunarity: 1.1

CEFB4F0A-99FB-43F8-81C5-3F2CA1F7A4E6.png

Octave Count: 5

Persistence: 0.8

Lacunarity: 1.1

5947C230-CBB3-4A05-A17E-81E332546189.png

Persistence

A number that determines how much each octave will contribute to the result of the noise map. You can think of this as the amplitude of the octaves.

Octave Count: 3

Persistence: 0.5

Lacunarity: 1.5

380EB8D2-5D8B-4F97-9FE4-63D510289BD5.png

Octave Count: 3

Persistence: 1

Lacunarity: 1.5

27313694-D9F2-41DD-8023-CC376B771B9E.png

Octave Count: 3

Persistence: 1.5

Lacunarity: 1.5

E1703FFD-DC50-4C48-9AA9-4471CC56931E.png

Persistence = 1 - All octaves equally contribute to the result.

Persistence > 1 - Successive octaves contribute more to the result.

Persistence < 1 - Successive octaves contribute less to the result.

Lacunarity

A number that determines how much detail is added or removed for each octave. You can think of this as the frequency of the octaves.

Octave Count: 3

Persistence: 1

Lacunarity: 0.5

D17CB494-2744-43DB-862E-D0EA246F5944.png

Octave Count: 3

Persistence: 1

Lacunarity: 1

8D2D7AD6-25AD-49C5-818D-E8552652D60C.png

Octave Count: 3

Persistence: 1

Lacunarity: 1.5

F251EA8E-664B-4C00-9D20-CD0145C8F51E.png

Lacunarity = 1 - All octaves will have the same level of detail.

Lacunarity > 1 - Successive octaves will include more detail.

Lacunarity < 1 - Successive octave after will include less detail.

Voronoi Noise Type

Voronoi noise features a cell-like structure and is generated by calculating distances between a pixel and a grid of offset points.

PropertyDescription
Seed

A number determining the starting conditions for the creation of the noise map. Using the same seed will result in the exact same noise map. Using a different seed will result in a different noise map.

Seed: 1

7AF86605-0503-46BA-869C-D01BAAACD39B.png

Seed: 2

9C551398-44AF-4688-95CE-2D50CFBDDA54.png

Seed: 3

A0EE2800-5AA3-4E37-85FA-DB8DF4B738FA.png

Frequency

The number and size of cells in any given area of generated noise. Using a larger frequency number will result in more cells present in the same area.

Frequency: 0.1

EB36413C-C138-4BD9-B398-97834F1C2C1D.png

Frequency: 0.25

B8030FFB-5B00-4BDB-8DA7-571434954EBE.png

Frequency: 0.5

6818FCE6-DB3C-47DE-B154-6B34E0C58DCB.png

Displacement

A number that determines the variety of noise values between cells.

Displacement: -1

C7DE7E4B-50EA-485C-ADFB-6FCE0336B3D7.png

Displacement: 0.5

05956B76-DF41-40BF-A791-C06977F8B4DA.png

Displacement: 1

BBA3CE6F-AD14-450F-9EF9-EE69AAEC8344.png

⚠️ NOTE: Using negative displacement does not work when the distance property is disabled.
Distance

Whether or not to add distance values to the noise.

Distance: Enabled

BBA3CE6F-AD14-450F-9EF9-EE69AAEC8344.png

Distance: Disabled

24D60452-5074-4CBE-8D36-8993D26FBCEA.png

Spheres and Cylinders Noise Types

Spheres and cylinders noise feature concentric circles originating from 0,0. Although these noise types appear the same in the preview, they're different when looking at them from a different angle. Spheres noise is created by placing spheres inside of each other whereas cylinders noise is created by placing cylinders inside of each other.

PropertiesDescription
Frequency

The amount of spheres / cylinders present in a given amount of space. Using a higher frequency will result in more spheres / cylinders in a given area.

Frequency: 0.05

F0F6B3F9-B673-4298-B771-A680B12AC5DC.png

Frequency: 0.25

F21D3AB7-4A02-41C5-9FA5-1D7D9380869F.png

Frequency: 0.5

918AC953-BF7C-4DED-81DC-98C0A0F23312.png

Checkerboard Noise Type

One of the simpler noise types that feature a grid of uniform squares with alternating values, a checkerboard pattern.

PropertiesDescription
Square Size

The size of each square in the noise map.

Square Size: 5

9EEE6739-62FB-4066-A326-052F4B8B24EF.png

Square Size: 10

8D394FBC-35EC-4904-96F5-0139D5D617BF.png

Square Size: 20

44077B6B-1106-46E5-98A5-E27A75837091.png

Constant Noise Type

The simplest noise type where every single value is the same.

PropertiesDescription
Value

The value to populate at every single position.

Value: -1

26906BB5-4F2C-4665-93B3-548D929FDE68.png

Value: 0

83995593-3D17-4500-8009-A6CEFD24F39E.png

Value: 0.5

66B772E7-C0A3-4002-8D3A-755745CFE836.png

Understanding the Preview Box

The preview box displays what the noise map would look like in real-time. It is a cross-section of the 3D noise map and if you were to use the Get Noise Value behavior, that will be where the values are being read from. The origin (0, 0) is the bottom left corner of the preview box.

By default, the preview is 100px by 100px. You can change the size of the preview box by editing the size value located under the preview box. Using a larger size value will reveal more of the noise map. You can also disable the preview in case you are dealing with a huge chain of noise maps in the editor. The preview box assumes that all the behaviors are executed in order beforehand.

The purpose of the preview box is to only give you a sense of what the actual noise map looks like and does not fully represent the final result. Modifying the preview size has no effect in gameplay functionality - it is solely there to adjust the preview in the editor.

Moving, Scaling and Rotating Noise Maps

The Transform Noise Map mode moves, scales and rotates a selected noise map in 3D space when the behavior is executed.

The position system is different than hyperPad's position system where x and z axes are the horizontal and vertical components (respectively). The y axis serves as the third dimension.

You can think of the position as the screen position. As you increase x, the camera shifts right and the noise map visually moves left. As you increase z, the camera shifts up and the noise map visually moves down. As you increase y, the camera moves through the noise map and the noise map visually morphs. The scale can be thought of as the screen zoom and the rotation can be thought of as the screen rotation.

Position

x is changing.

4E7315F7-9080-47F1-A8CF-A3EAB9FEDD0A.gif

y is changing.

2E0F5994-1A87-4FF1-905C-1C1FC1F5BB98.gif

z is changing.

8781D700-13A9-49DC-8DDD-094F21251CD0.gif

Scale

x is changing.

77995013-76DE-4CBE-B544-BBDBAED219A0.gif

y is changing.

339F47DF-AF52-4CFA-8DBE-8388931C6B31.gif

z is changing.

CDC2843A-8AE3-47B0-91C5-715A60BA4445.gif

Rotation

x is changing.

0E08BD63-D2FE-4075-9B27-62994B631872.gif

y is changing.

43F7E2D3-6BD4-477D-BB0F-5DEA400BC0CF.gif

z is changing.

22DE1122-0E64-41AA-9383-F39FEBEBAE41.gif

Applying Colors

The Colorize Noise Map mode sets the colors for a selected noise map when the behavior is executed. Simply change the colors at the minimum and maximum values.

BC796C5D-8DF9-477E-9982-1A0407F0EBAE.gif

Performing Math Operations

The Math Operation mode performs a math operation on all the values of a selected noise map when the behavior is executed.

A table below shows what each math operation does. The variable v represents a given value and variables a and b represent other provided input numbers.

OperationFunctionDescription
Absolute Valuef(v) = |v|Performs an absolute value on the value where negative numbers become positive numbers.
Invertf(v) = -vMultiplies the value by -1, which is equivalent to flipping the sign of the value.
Raise to Powerf(v) = v^aRaises the value by another number.
Clampf(v) = clamp(v, a, b)Restricts the value between a minimum and maximum range.
Addf(v) = v + aAdds a number to the value.
Subtractf(v) = v - aSubtracts a number from the value.
Multiplyf(v) = v * aMultiplies the value by a number.
Dividef(v) = v / aDivides the value by a number.

Combining Noise Maps

The Combine Noise Map mode combines two noise maps together when the behavior is executed. This performs a math operation on all the values of a selected noise map using corresponding values on another noise map to produce the final result.

A table below shows what each operation does. The variable v₁ is the value from the first noise map at a specific position and the variable v₂ is the value from the second noise map at the same exact position.

OperationFunctionDescription
Raise to Powerf(v,v) = v^v Raises the value of the first noise map by another corresponding value of the second noise map.
Minimum f(v,v) = min(v₁,v₂) Takes the minimum value of both noise maps.
Maximum f(v,v) = max(v₁,v₂) Takes the maximum value of both noise maps.
Add f(v,v) = v₁ + v Adds the values of both noise maps together.
Subtract f(v,v) = v₁ - v Subtracts the value of the first noise map by another corresponding value of the second noise map.
Multiply f(v,v) = v₁ * v Multiplies the values of both noise maps.

Distorting Noise Maps

The Distort Noise Map mode displaces values on the noise map when the behavior is executed, creating a distortion effect. There are two ways of distorting noise maps - applying turbulence and displacing values using multiple noise maps.

Applying Turbulence

Applies a randomized distortion effect by shifting values randomly. The following operation is applied to a checkerboard noise map in this example.

70059F26-0A96-4B93-8D0D-8A78BB461F4C.png

PropertiesDescription
Seed

A number determining the starting conditions of the distortion. Using the exact same number will result in the exact same distortion effect and using a different number will result in a different distortion effect.

Seed: 1

86843072-05FC-479A-B601-BF62CBAE3AF3.png

Seed: 2

A714CF29-67BC-4850-8EA7-2DF2ECB3F199.png

Seed: 3

046F0CCC-B8AF-4C38-ADFD-C1B70810B247.png

Frequency

How frequent the amount of distortion changes in a given amount of area. Using a higher frequency means the distortion effect changes more in an area.

Frequency: 0.05

DB622410-4E55-40EA-8265-BA49D7BA0162.png

Frequency: 0.1

92A3EF74-6F33-4B31-9C60-2E5B5591AAF0.png

Frequency: 0.25

1A07E07C-7666-48E9-BFD3-2AF70F930C91.png

Power

A number determining the strength of the distortion effect.

Power: 10

970FE0B2-FF9A-4AAD-AA41-B9042BE34380.png

Power: 25

E21FB0AE-3FCF-4F73-BF17-F853C4E68A7A.png

Power: 50

D8AFC0F2-2207-4FFD-B2B1-CFE292C8A649.png

Roughness

A number determining the rate of change of the distortion effect (how fast it changes). Lower roughness values result in smoother transitions between more-distorted and less-distorted regions whereas higher values result in rapid, rough transitions.

Roughness: 1

FC0D5A5D-38D4-4782-A65B-1A423B4492EC.png

Roughness: 2

0C535703-320C-4FA0-B5B4-AD10901C61CC.png

Roughness: 20

85A940BD-DDB2-441A-9677-241CF08BD9E3.png

Displace

Shifts each noise value by a 3D offset which are defined by x,y, and z components provided by three noise maps. Leaving any of these components blank will simply substitute it with a constant noise map with a value of 0 instead.

B9FBAA6B-03F6-495F-A0DE-973566444841.png

Generating the Final Texture

TheGenerate Texture mode produces the final noise map texture when the behavior is executed. This allows values to be read much faster from the noise map with the cost of it being restricted to an area and being no longer editable.

⚠️ NOTE: The noise map will no longer be editable once converted to a final texture. Attempting to perform operations on it will result in a Modification Prohibited error.

PropertyDescription
Texture SizeThe width and height (in pixels) of the final noise map to sample and create.
OriginThe starting position (in pixels) to start sampling the noise map.
Sample CountThe amount of samples to use in the x and y dimensions of the noise map. A higher sample count would allow for larger and more detailed noise maps.
SeamlessIf enabled, the texture is adjusted so it can be tiled without visible seams.
AsynchronousIf enabled, the texture is rendered outside the main thread and the behavior will trigger once the rendering is finished. This allows the noise map to be generated without freezing the project for larger noise maps.

Getting an Image from a Noise Map

81F26920-F435-45B8-BA27-75666B46562C.jpeg

In the Load Image behavior, you can retrieve the image of the noise map by selecting the Noise Map load type, then defining the resolution of the image.

Using a different resolution size than the original noise map will resize the noise map to fit within the image.

NOTE: You can use any noise map behavior you want as long as the behavior has a valid noise map!

Acknowledging Errors

The Noise Map behavior can display errors in the preview box which is signified by a triangle warning icon along with a short error message under it.

This means that the behavior was not able to generate the preview, which also means that the noise map will never be rendered during gameplay. To make sure the behavior works as intended, you will have to address the errors and double check all input fields.

Error MessageMeaning
Source MissingThe source noise map behavior is not selected.
Secondary Source MissingThe secondary source noise map behavior is not selected (Combine Noise Maps mode only).
Source ErrorAt least one of the selected source noise maps are encountering an error.
Self-Reference ProhibitedOne of the selected source noise maps are referencing itself. This would create an infinite loop.
Modification ProhibitedThe selected source noise map is a final texture and cannot be modified or cannot be used to generate a new texture.
Unknown ErrorThe preview failed to load due to another issue.