NoiseTexture2D

Hereda: Texture2D < Texture < Resource < RefCounted < Object

Una textura 2D rellena con ruido generado por un objeto Noise.

Descripción

Utiliza la librería FastNoiseLite u otros generadores de ruido para rellenar los datos de la textura del tamaño deseado. NoiseTexture2D también puede generar texturas de mapa normal.

La clase utiliza Threads para generar los datos de la textura internamente, por lo que Texture2D.get_image() puede devolver null si el proceso de generación no se ha completado todavía. En ese caso, debes esperar a que la textura se genere antes de acceder a la imagen y a los datos de bytes generados:

var textura = NoiseTexture2D.new()
textura.noise = FastNoiseLite.new()
await textura.changed
var imagen = textura.get_image()
var datos = imagen.get_data()

Propiedades

bool

as_normal_map

false

float

bump_strength

8.0

Gradient

color_ramp

bool

generate_mipmaps

true

int

height

512

bool

in_3d_space

false

bool

invert

false

Noise

noise

bool

normalize

true

bool

resource_local_to_scene

false (overrides Resource)

bool

seamless

false

float

seamless_blend_skirt

0.1

int

width

512


Descripciones de Propiedades

bool as_normal_map = false 🔗

  • void set_as_normal_map(value: bool)

  • bool is_normal_map()

Si es true, la textura resultante contiene un mapa normal creado a partir del ruido original interpretado como un bump map.


float bump_strength = 8.0 🔗

  • void set_bump_strength(value: float)

  • float get_bump_strength()

La fuerza de los bump maps usados en esta textura. Un valor más alto hará que los bump maps parezcan más grandes mientras que un valor más bajo los hará parecer más suaves.


Gradient color_ramp 🔗

Un Gradient que se utiliza para asignar la luminancia de cada píxel a un valor de color.


bool generate_mipmaps = true 🔗

  • void set_generate_mipmaps(value: bool)

  • bool is_generating_mipmaps()

Determina si se generan mipmaps para esta textura. Habilitar esto resulta en menos aliasing de textura en la distancia, a costa de aumentar el uso de memoria en aproximadamente un 33% y hacer que la generación de la textura de ruido tarde más.

Nota: generate_mipmaps requiere que el filtrado de mipmaps esté habilitado en el material que utiliza NoiseTexture2D para que tenga efecto.


int height = 512 🔗

  • void set_height(value: int)

  • int get_height()

Altura de la textura generada (en píxeles).


bool in_3d_space = false 🔗

  • void set_in_3d_space(value: bool)

  • bool is_in_3d_space()

Determina si la imagen de ruido se calcula en el espacio 3D. Puede resultar en un contraste reducido.


bool invert = false 🔗

  • void set_invert(value: bool)

  • bool get_invert()

Si es true, invierte la textura de ruido. El blanco se vuelve negro, el negro se vuelve blanco.


Noise noise 🔗

La instancia del objeto Noise.


bool normalize = true 🔗

  • void set_normalize(value: bool)

  • bool is_normalized()

Si es true, la imagen de ruido proveniente del generador de ruido se normaliza al rango 0.0 a 1.0.

Desactivar la normalización puede afectar el contraste y te permite generar texturas de ruido en mosaico no repetitivas.


bool seamless = false 🔗

  • void set_seamless(value: bool)

  • bool get_seamless()

If true, a seamless texture is requested from the Noise resource.

Note: Seamless noise textures may take longer to generate and/or can have a lower contrast compared to non-seamless noise depending on the used Noise resource. This is because some implementations use higher dimensions for generating seamless noise.

Note: The default FastNoiseLite implementation uses the fallback path for seamless generation. If using a width or height lower than the default, you may need to increase seamless_blend_skirt to make seamless blending more effective.


float seamless_blend_skirt = 0.1 🔗

  • void set_seamless_blend_skirt(value: float)

  • float get_seamless_blend_skirt()

Se utiliza para la implementación predeterminada/de reserva de la generación de texturas sin uniones. Determina la distancia sobre la que se fusionan las uniones. Los valores altos pueden resultar en menos detalles y contraste. Véase Noise para más detalles.

Nota: Si se utiliza un width o un height inferior al valor predeterminado, es posible que sea necesario aumentar seamless_blend_skirt para que la fusión sin uniones sea más efectiva.


int width = 512 🔗

  • void set_width(value: int)

  • int get_width()

Ancho de la textura generada (en píxeles).