Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

NoiseTexture2D

Eredita: Texture2D < Texture < Resource < RefCounted < Object

Una texture 2D riempita con noise generato da un oggetto Noise.

Descrizione

Utilizza la libreria FastNoiseLite o altri generatori di noise per riempire i dati della texture della dimensione desiderata. NoiseTexture2D può anche generare texture di mappe normali.

La classe utilizza i Thread per generare internamente i dati texture, quindi Texture2D.get_image() potrebbe restituire null se il processo di generazione non è ancora stato completato. In tal caso, è necessario attendere che la texture sia generata prima di accedere all'immagine e ai dati in byte generati:

var texture = NoiseTexture2D.new()
texture.noise = FastNoiseLite.new()
await texture.changed
var image = texture.get_image()
var data = image.get_data()

Proprietà

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


Descrizioni delle proprietà

bool as_normal_map = false 🔗

  • void set_as_normal_map(value: bool)

  • bool is_normal_map()

Se true, la texture risultante contiene una mappa normale creata dal noise originale interpretato come una mappa di rilievo.


float bump_strength = 8.0 🔗

  • void set_bump_strength(value: float)

  • float get_bump_strength()

L'intensità delle mappe di rilievo utilizzate in questa texture. Un valore più alto farà apparire le mappe di rilievo più elevate, mentre un valore più basso le farà apparire più soffici.


Gradient color_ramp 🔗

Un Gradient che è utilizzato per mappare la luminanza di ciascun pixel su un valore di colore.


bool generate_mipmaps = true 🔗

  • void set_generate_mipmaps(value: bool)

  • bool is_generating_mipmaps()

Determina se le mipmap sono generate per questa texture. Abilitando questa opzione si ottiene un po' di aliasing nella texture in lontananza, al costo di aumentare l'uso della memoria di circa il 33% e di aumentare i tempi di generazione della texture del noise.

Nota: generate_mipmaps richiede che il filtro per le mipmap sia abilitato sul materiale tramite NoiseTexture2D per avere effetto.


int height = 512 🔗

  • void set_height(value: int)

  • int get_height()

Altezza della texture generata (in pixel).


bool in_3d_space = false 🔗

  • void set_in_3d_space(value: bool)

  • bool is_in_3d_space()

Determina se l'immagine del noise è calcolata nello spazio 3D. Può comportare una riduzione del contrasto.


bool invert = false 🔗

  • void set_invert(value: bool)

  • bool get_invert()

Se true, inverte la texture del noise. Il bianco diventa nero, e il nero diventa bianco.


Noise noise 🔗

L'istanza dell'oggetto Noise.


bool normalize = true 🔗

  • void set_normalize(value: bool)

  • bool is_normalized()

Se true, l'immagine del noise proveniente dal generatore di noise è normalizzata nell'intervallo 0.0 - 1.0.

Disattivare la normalizzazione può influenzare il contrasto e consente di generare texture di noise affiancabili senza ripetizioni.


bool seamless = false 🔗

  • void set_seamless(value: bool)

  • bool get_seamless()

Se true, una texture continua è richiesta dalla risorsa Noise.

Nota: Le texture di noise continue potrebbero richiedere più tempo per essere generate e/o potrebbero avere un contrasto inferiore rispetto al noise non continuo, a seconda della risorsa Noise utilizzata. Questo perché alcune implementazioni utilizzano dimensioni maggiori per generare il noise continuo.

Nota: L'implementazione predefinita di FastNoiseLite utilizza il percorso di riserva per la generazione continua. Se si usa una width o una height inferiore a quella predefinita, potrebbe essere necessario aumentare seamless_blend_skirt per rendere più efficace la fusione continua.


float seamless_blend_skirt = 0.1 🔗

  • void set_seamless_blend_skirt(value: float)

  • float get_seamless_blend_skirt()

Utilizzato per l'implementazione predefinita/di riserva della generazione di texture continue. Determina la distanza su cui sono sfumate le cuciture. Valori elevati potrebbero risultare in meno dettagli e contrasto. Vedi Noise per ulteriori dettagli.

Nota: Se si usa una width o una height inferiore a quella predefinita, potrebbe essere necessario aumentare seamless_blend_skirt per rendere più efficace la fusione continua.


int width = 512 🔗

  • void set_width(value: int)

  • int get_width()

Larghezza della texture generata (in pixel).