ViewportTexture
Eredita: Texture2D < Texture < Resource < RefCounted < Object
Fornisce il contenuto di una Viewport come texture dinamica.
Descrizione
Una ViewportTexture fornisce il contenuto di una Viewport sotto forma di una Texture2D dinamica. Può essere utilizzata per combinare il rendering dei nodi Control, Node2D e Node3D. Ad esempio, è possibile utilizzare questa texture per visualizzare una scena 3D all'interno di una TextureRect o un overlay 2D in una Sprite3D.
Per ottenere una ViewportTexture in codice, usa il metodo Viewport.get_texture() sulla viewport di destinazione.
Nota: Una ViewportTexture è sempre locale alla sua scena (vedi Resource.resource_local_to_scene). Se la radice della scena non è pronta, potrebbe restituire dati non corretti (vedi Node.ready).
Nota: Istanziare scene contenenti una ViewportTexture ad alta risoluzione potrebbe causare un evidente scatto nelle prestazioni.
Nota: Quando si utilizza un Viewport con Viewport.use_hdr_2d impostato su true, la texture restituita sarà un'immagine HDR codificata nello spazio lineare. Potrebbe apparire più scura del normale se visualizzata direttamente sullo schermo. Per convertire nello spazio gamma, puoi fare quanto segue:
img.convert(Image.FORMAT_RGBA8)
imb.linear_to_srgb()
Nota: Alcuni nodi come Decal, Light3D e PointLight2D non supportano l'utilizzo diretto di ViewportTexture. Per utilizzare i dati di texture da una ViewportTexture in questi nodi, è necessario creare una ImageTexture chiamando Texture2D.get_image() sulla ViewportTexture e passando il risultato a ImageTexture.create_from_image(). Questa conversione è un'operazione lenta, quindi non dovrebbe essere eseguita a ogni fotogramma.
Tutorial
Proprietà
|
Descrizioni delle proprietà
NodePath viewport_path = NodePath("") 🔗
Il percorso al nodo Viewport da visualizzare. Questo è relativo alla radice della scena locale (vedi Resource.get_local_scene()), non ai nodi che usano questa texture.
Nota: Nell'editor, questo percorso viene aggiornato automaticamente quando la viewport di destinazione o uno dei suoi antenati viene rinominato o spostato. In fase di esecuzione, questo percorso potrebbe non aggiornarsi automaticamente se la radice della scena non può essere trovata.