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.

ImageTextureLayered

Eredita: TextureLayered < Texture < Resource < RefCounted < Object

Ereditato da: Cubemap, CubemapArray, Texture2DArray

Classe di base per i tipi di texture che contengono i dati di più ImageTexture. Ogni immagine ha le stesse dimensioni e lo stesso formato.

Descrizione

Classe di base per Texture2DArray, Cubemap e CubemapArray. Non può essere utilizzata direttamente, ma contiene tutte le funzioni necessarie per accedere ai tipi di risorse derivati. Vedi anche Texture3D.

Metodi

Error

create_from_images(images: Array[Image])

void

update_layer(image: Image, layer: int)


Descrizioni dei metodi

Error create_from_images(images: Array[Image]) 🔗

Crea un ImageTextureLayered da un array di Image. Vedi Image.create() per il formato dati previsto. La prima immagine determina la larghezza, l'altezza, il formato immagine e le impostazioni di mipmapping. Le altre immagini devono avere la stessa larghezza, altezza, formato immagine e impostazioni di mipmapping.

Ogni Image rappresenta un layer.

# Riempi un array di immagini con diversi colori.
var images = []
const LAYERS = 6
for i in LAYERS:
    var image = Image.create_empty(128, 128, false, Image.FORMAT_RGB8)
    if i % 3 == 0:
        image.fill(Color.RED)
    elif i % 3 == 1:
        image.fill(Color.GREEN)
    else:
        image.fill(Color.BLUE)
    images.push_back(image)

# Crea e salva un array di texture 2D. L'array di immagini deve contenere almeno 1 immagine.
var texture_2d_array = Texture2DArray.new()
texture_2d_array.create_from_images(images)
ResourceSaver.save(texture_2d_array, "res://texture_2d_array.res", ResourceSaver.FLAG_COMPRESS)

# Crea e salva una cubemap. L'array di immagini deve contenere esattamente 6 immagini.
# Le immagini in ogni cubemap sono specificate in questo ordine: X+, X-, Y+, Y-, Z+, Z-
# (nel sistema di coordinate di Godot, quindi Y+ è "su" e Z- è "avanti").
var cubemap = Cubemap.new()
cubemap.create_from_images(images)
ResourceSaver.save(cubemap, "res://cubemap.res", ResourceSaver.FLAG_COMPRESS)

# Crea e salva un'array di cubemap. L'array di immagini deve contenere esattamente 6 immagini.
# Le immagini in ogni cubemap sono specificate in questo ordine: X+, X-, Y+, Y-, Z+, Z-
# (nel sistema di coordinate di Godot, quindi Y+ è "su" e Z- è "avanti").
var cubemap_array = CubemapArray.new()
cubemap_array.create_from_images(images)
ResourceSaver.save(cubemap_array, "res://cubemap_array.res", ResourceSaver.FLAG_COMPRESS)

void update_layer(image: Image, layer: int) 🔗

Sostituisce i dati esistenti dell'Image nel livello layer con questa nuova immagine.

L'Image fornita deve avere la stessa larghezza, altezza, formato immagine e flag per il mipmapping del resto delle immagini referenziate.

Se il formato immagine non è supportato, sarà decompresso e convertito in un Format simile e supportato.

L'aggiornamento è immediato: è sincronizzato con il disegno.