NoiseTexture

Inherits: Texture2D < Texture < Resource < RefCounted < Object

OpenSimplexNoise filled texture.

Description

Uses an OpenSimplexNoise to fill the texture data. You can specify the texture size but keep in mind that larger textures will take longer to generate and seamless noise only works with square sized textures.

NoiseTexture can also generate normal map textures.

The class uses Threads to generate the texture data internally, so Texture2D.get_image may return null if the generation process has not completed yet. In that case, you need to wait for the texture to be generated before accessing the image and the generated byte data:

var texture = NoiseTexture.new()
texture.noise = OpenSimplexNoise.new()
await texture.changed
var image = texture.get_image()
var data = image.get_data()

Property Descriptions

  • bool as_normal_map

Default

false

Setter

set_as_normal_map(value)

Getter

is_normal_map()

If true, the resulting texture contains a normal map created from the original noise interpreted as a bump map.


Default

8.0

Setter

set_bump_strength(value)

Getter

get_bump_strength()

Strength of the bump maps used in this texture. A higher value will make the bump maps appear larger while a lower value will make them appear softer.


Default

512

Setter

set_height(value)

Getter

get_height()

Height of the generated texture.


Setter

set_noise(value)

Getter

get_noise()

The OpenSimplexNoise instance used to generate the noise.


Default

Vector2(0, 0)

Setter

set_noise_offset(value)

Getter

get_noise_offset()

An offset used to specify the noise space coordinate of the top left corner of the generated noise. This value is ignored if seamless is enabled.


Default

false

Setter

set_seamless(value)

Getter

get_seamless()

Whether the texture can be tiled without visible seams or not. Seamless textures take longer to generate.

Note: Seamless noise has a lower contrast compared to non-seamless noise. This is due to the way noise uses higher dimensions for generating seamless noise.


Default

512

Setter

set_width(value)

Getter

get_width()

Width of the generated texture.