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.

Viewport

Eredita: Node < Object

Ereditato da: SubViewport, Window

Classe di base astratta per viewport. Incapsula il disegno e l'interazione con un mondo di gioco.

Descrizione

Una Viewport crea una vista diversa sullo schermo, o una sotto-vista all'interno di un'altra viewport. I nodi 2D figlio saranno visualizzati su di essa, e anche i nodi Camera3D 3D figlio saranno renderizzati su di essa.

Facoltativamente, una viewport può avere il suo mondo 2D o 3D, quindi non condivide ciò che disegna con altre viewport.

Le viewport possono anche scegliere di essere ascoltatori audio, generando così audio posizionale a seconda di una telecamera figlio 2D o 3D.

Inoltre, le viewport possono essere assegnate a schermi diversi nel caso in cui i dispositivi abbiano più schermi.

Infine, le viewport possono anche comportarsi come destinazioni di rendering, nel qual caso non saranno visibili a meno che la texture associata non sia utilizzata per disegnare.

Tutorial

Proprietà

AnisotropicFiltering

anisotropic_filtering_level

2

bool

audio_listener_enable_2d

false

bool

audio_listener_enable_3d

false

int

canvas_cull_mask

4294967295

DefaultCanvasItemTextureFilter

canvas_item_default_texture_filter

1

DefaultCanvasItemTextureRepeat

canvas_item_default_texture_repeat

0

Transform2D

canvas_transform

DebugDraw

debug_draw

0

bool

disable_3d

false

float

fsr_sharpness

0.2

Transform2D

global_canvas_transform

bool

gui_disable_input

false

int

gui_drag_threshold

10

bool

gui_embed_subwindows

false

bool

gui_snap_controls_to_pixels

true

bool

handle_input_locally

true

float

mesh_lod_threshold

1.0

MSAA

msaa_2d

0

MSAA

msaa_3d

0

bool

oversampling

true

float

oversampling_override

0.0

bool

own_world_3d

false

PhysicsInterpolationMode

physics_interpolation_mode

1 (overrides Node)

bool

physics_object_picking

false

bool

physics_object_picking_first_only

false

bool

physics_object_picking_sort

false

bool

positional_shadow_atlas_16_bits

true

PositionalShadowAtlasQuadrantSubdiv

positional_shadow_atlas_quad_0

2

PositionalShadowAtlasQuadrantSubdiv

positional_shadow_atlas_quad_1

2

PositionalShadowAtlasQuadrantSubdiv

positional_shadow_atlas_quad_2

3

PositionalShadowAtlasQuadrantSubdiv

positional_shadow_atlas_quad_3

4

int

positional_shadow_atlas_size

2048

Scaling3DMode

scaling_3d_mode

0

float

scaling_3d_scale

1.0

ScreenSpaceAA

screen_space_aa

0

SDFOversize

sdf_oversize

1

SDFScale

sdf_scale

1

bool

snap_2d_transforms_to_pixel

false

bool

snap_2d_vertices_to_pixel

false

float

texture_mipmap_bias

0.0

bool

transparent_bg

false

bool

use_debanding

false

bool

use_hdr_2d

false

bool

use_occlusion_culling

false

bool

use_taa

false

bool

use_xr

false

VRSMode

vrs_mode

0

Texture2D

vrs_texture

VRSUpdateMode

vrs_update_mode

1

World2D

world_2d

World3D

world_3d

Metodi

World2D

find_world_2d() const

World3D

find_world_3d() const

AudioListener2D

get_audio_listener_2d() const

AudioListener3D

get_audio_listener_3d() const

Camera2D

get_camera_2d() const

Camera3D

get_camera_3d() const

bool

get_canvas_cull_mask_bit(layer: int) const

Array[Window]

get_embedded_subwindows() const

Transform2D

get_final_transform() const

Vector2

get_mouse_position() const

float

get_oversampling() const

PositionalShadowAtlasQuadrantSubdiv

get_positional_shadow_atlas_quadrant_subdiv(quadrant: int) const

int

get_render_info(type: RenderInfoType, info: RenderInfo)

Transform2D

get_screen_transform() const

Transform2D

get_stretch_transform() const

ViewportTexture

get_texture() const

RID

get_viewport_rid() const

Rect2

get_visible_rect() const

void

gui_cancel_drag()

Variant

gui_get_drag_data() const

String

gui_get_drag_description() const

Control

gui_get_focus_owner() const

Control

gui_get_hovered_control() const

bool

gui_is_drag_successful() const

bool

gui_is_dragging() const

void

gui_release_focus()

void

gui_set_drag_description(description: String)

bool

is_input_handled() const

void

notify_mouse_entered()

void

notify_mouse_exited()

void

push_input(event: InputEvent, in_local_coords: bool = false)

void

push_text_input(text: String)

void

push_unhandled_input(event: InputEvent, in_local_coords: bool = false)

void

set_canvas_cull_mask_bit(layer: int, enable: bool)

void

set_input_as_handled()

void

set_positional_shadow_atlas_quadrant_subdiv(quadrant: int, subdiv: PositionalShadowAtlasQuadrantSubdiv)

void

update_mouse_cursor_state()

void

warp_mouse(position: Vector2)


Segnali

gui_focus_changed(node: Control) 🔗

Emesso quando un nodo di controllo cattura il focus della tastiera.

Nota: Un nodo di controllo che perde il focus non provoca l'emissione di questo segnale.


size_changed() 🔗

Emesso quando le dimensioni della viewport sono modificate, ridimensionandola o in altri modi.


Enumerazioni

enum PositionalShadowAtlasQuadrantSubdiv: 🔗

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED = 0

Questo quadrante non sarà utilizzato.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_1 = 1

Questo quadrante sarà utilizzato solo da una mappa di ombre.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_4 = 2

Questo quadrante sarà diviso in 4, e utilizzato da un massimo di 4 mappe di ombre.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_16 = 3

Questo quadrante sarà diviso in 16, e utilizzato da un massimo di 16 mappe di ombre.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_64 = 4

Questo quadrante sarà diviso in 64, e utilizzato da un massimo di 64 mappe di ombre.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_256 = 5

Questo quadrante sarà diviso in 256, e utilizzato da un massimo di 256 mappe di ombre. A meno che il valore di positional_shadow_atlas_size non sia molto alto, le ombre in questo quadrante avranno una risoluzione molto bassa.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_1024 = 6

Questo quadrante sarà diviso in 1024, e utilizzato da un massimo di 1024 mappe di ombre. A meno che il valore di positional_shadow_atlas_size non sia molto alto, le ombre in questo quadrante avranno una risoluzione molto bassa.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_MAX = 7

Rappresenta la dimensione dell'enumerazione PositionalShadowAtlasQuadrantSubdiv.


enum Scaling3DMode: 🔗

Scaling3DMode SCALING_3D_MODE_BILINEAR = 0

Utilizza il ridimensionamento bilineare per il buffer 3D della viewport. La quantità di ridimensionamento può essere impostata tramite scaling_3d_scale. Valori inferiori a 1.0 risulteranno in un sottocampionamento mentre valori superiori a 1.0 risulteranno in un sovracampionamento. Un valore di 1.0 disabilita il ridimensionamento.

Scaling3DMode SCALING_3D_MODE_FSR = 1

Utilizza l'upscaling AMD FidelityFX Super Resolution 1.0 per il buffer 3D della viewport. La quantità di ridimensionamento può essere impostata tramite scaling_3d_scale. I valori inferiori a 1.0 risulteranno in un upscaling della viewport tramite FSR. I valori superiori a 1.0 non sono supportati e sarà invece utilizzato il downsampling bilineare. Un valore di 1.0 disabilita il ridimensionamento.

Scaling3DMode SCALING_3D_MODE_FSR2 = 2

Utilizza l'upscaling AMD FidelityFX Super Resolution 2.2 per il buffer 3D della viewport. La quantità di ridimensionamento può essere impostata tramite scaling_3d_scale. I valori inferiori a 1.0 risulteranno nell'upscaling della viewport tramite FSR2. I valori superiori a 1.0 non sono supportati e sarà invece utilizzato il sottocampionamento bilineare. Un valore di 1.0 userà FSR2 alla risoluzione nativa come soluzione TAA.

Scaling3DMode SCALING_3D_MODE_METALFX_SPATIAL = 3

Utilizza il MetalFX spatial upscaler per il buffer 3D della viewport.

La quantità di ridimensionamento può essere impostata tramite scaling_3d_scale.

I valori inferiori a 1.0 risulteranno in un upscaling della viewport tramite MetalFX. I valori superiori a 1.0 non sono supportati e sarà invece utilizzato il downsampling bilineare. Un valore di 1.0 disabilita il ridimensionamento.

Ulteriori information: MetalFX.

Nota: Supportato solo quando è in uso il driver di rendering Metal, il che limita questa modalità di ridimensionamento a macOS e iOS.

Scaling3DMode SCALING_3D_MODE_METALFX_TEMPORAL = 4

Utilizza il l'upscaler temporale MetalFX per il buffer 3D della viewport.

La quantità di ridimensionamento può essere impostata tramite scaling_3d_scale. Per determinare la scala minima di input, usa il metodo RenderingDevice.limit_get() con RenderingDevice.LIMIT_METALFX_TEMPORAL_SCALER_MIN_SCALE.

I valori inferiori a 1.0 risulteranno in un upscaling della viewport tramite MetalFX. I valori superiori a 1.0 non sono supportati e sarà invece utilizzato il sottocampionamento bilineare. Un valore di 1.0 utilizzerà MetalFX a risoluzione nativa come soluzione TAA.

Ulteriori informazioni: MetalFX.

Nota: Supportato solo quando è in uso il driver di rendering Metal, il che limita questa modalità di ridimensionamento a macOS e iOS.

Scaling3DMode SCALING_3D_MODE_NEAREST = 5

Use nearest-neighbor filtering for the viewport's 3D buffer. This looks crisper than SCALING_3D_MODE_BILINEAR and has no additional rendering cost. The amount of scaling can be set using scaling_3d_scale. Values greater than 1.0 are not supported and bilinear downsampling will be used instead. A value of 1.0 disables scaling.

Note: When using the Nearest scaling mode, to avoid uneven pixel scaling, it's highly recommended to use a value equal to an integer divisor with a dividend of 1. For example, it's best to use a scale of 0.5 (1/2), 0.3333 (1/3), 0.25 (1/4), 0.2 (1/5), and so on.

Scaling3DMode SCALING_3D_MODE_MAX = 6

Rappresenta la dimensione dell'enumerazione Scaling3DMode.


enum MSAA: 🔗

MSAA MSAA_DISABLED = 0

Modalità antialiasing multicampione disattivata. Questo è il valore predefinito, ed è anche l'impostazione più veloce.

MSAA MSAA_2X = 1

Usa un 2× Multisample Antialiasing. Ha un costo di prestazioni moderato. Aiuta a ridurre notevolmente l'aliasing, ma 4× MSAA risulta comunque sostanzialmente migliore.

MSAA MSAA_4X = 2

Usa 4× Multisample Antialiasing. Questo ha un costo di prestazioni significativo, ed è generalmente un buon compromesso tra prestazioni e qualità.

MSAA MSAA_8X = 3

Usa 8× Multisample Antialiasing. Ha un costo di prestazioni molto elevato. La differenza tra 4× e 8× MSAA potrebbe non essere sempre visibile in condizioni di gioco reali. Probabilmente non supportato su hardware di fascia bassa e più vecchio.

MSAA MSAA_MAX = 4

Rappresenta la dimensione dell'enumerazione MSAA.


enum AnisotropicFiltering: 🔗

AnisotropicFiltering ANISOTROPY_DISABLED = 0

Il filtro anisotropico è disabilitato.

AnisotropicFiltering ANISOTROPY_2X = 1

Utilizza il filtro anisotropico 2×.

AnisotropicFiltering ANISOTROPY_4X = 2

Utilizza il filtro anisotropico 4×. Questo è il valore predefinito.

AnisotropicFiltering ANISOTROPY_8X = 3

Utilizza il filtro anisotropico 8×.

AnisotropicFiltering ANISOTROPY_16X = 4

Utilizza il filtro anisotropico 16×.

AnisotropicFiltering ANISOTROPY_MAX = 5

Rappresenta la dimensione dell'enumerazione AnisotropicFiltering.


enum ScreenSpaceAA: 🔗

ScreenSpaceAA SCREEN_SPACE_AA_DISABLED = 0

Non eseguire alcun antialiasing nella post-elaborazione dell'intero schermo.

ScreenSpaceAA SCREEN_SPACE_AA_FXAA = 1

Usa un antialiasing approssimativo veloce. FXAA è un metodo di antialiasing spazio-schermo popolare, che è veloce ma renderà l'immagine sfocata, specialmente a risoluzioni più basse. Può comunque funzionare abbastanza bene a risoluzioni elevate come 1440p e 4K.

ScreenSpaceAA SCREEN_SPACE_AA_SMAA = 2

Utilizza l'antialiasing morfologico subpixel. SMAA può produrre risultati più nitidi di FXAA, ma con un costo in termini di prestazioni leggermente superiore.

ScreenSpaceAA SCREEN_SPACE_AA_MAX = 3

Rappresenta la dimensione dell'enumerazione ScreenSpaceAA.


enum RenderInfo: 🔗

RenderInfo RENDER_INFO_OBJECTS_IN_FRAME = 0

Quantità di oggetti nell'inquadratura.

RenderInfo RENDER_INFO_PRIMITIVES_IN_FRAME = 1

Quantità di vertici nell'inquadratura.

RenderInfo RENDER_INFO_DRAW_CALLS_IN_FRAME = 2

Quantità di chiamate di disegno nell'inquadratura.

RenderInfo RENDER_INFO_MAX = 3

Rappresenta la dimensione dell'enumerazione RenderInfo.


enum RenderInfoType: 🔗

RenderInfoType RENDER_INFO_TYPE_VISIBLE = 0

Passaggio di rendering visibile (ombre escluse).

RenderInfoType RENDER_INFO_TYPE_SHADOW = 1

Passaggio di rendering delle ombre. Gli oggetti saranno renderizzati più volte a seconda della quantità di luci con ombre e del numero di suddivisioni delle ombre direzionali.

RenderInfoType RENDER_INFO_TYPE_CANVAS = 2

Rendering degli elementi canvas. Include tutto il rendering 2D.

RenderInfoType RENDER_INFO_TYPE_MAX = 3

Rappresenta la dimensione dell'enumerazione RenderInfoType.


enum DebugDraw: 🔗

DebugDraw DEBUG_DRAW_DISABLED = 0

Gli oggetti sono visualizzati normalmente.

DebugDraw DEBUG_DRAW_UNSHADED = 1

Gli oggetti sono visualizzati senza informazioni sulla luce.

DebugDraw DEBUG_DRAW_LIGHTING = 2

Gli oggetti sono visualizzati senza texture e solo con le informazioni sull'illuminazione.

Nota: Quando si utilizza questa modalità di disegno di debug, gli shader personalizzati sono ignorati, poiché tutti i materiali nella scena utilizzano temporaneamente un materiale di debug. Ciò significa che il risultato delle funzioni degli shader personalizzati (come lo scostamento di vertici) non sarà più visibile quando si utilizza questa modalità.

DebugDraw DEBUG_DRAW_OVERDRAW = 3

Gli oggetti sono visualizzati semi-trasparenti con fusione additiva, così per vedere dove si stanno disegnando uno sopra l'altro. Un overdraw più alto significa che si sta sprecando tempo di calcolo disegnando pixel che sono nascosti dietro altri.

Nota: Quando si utilizza questa modalità di disegno di debug, gli shader personalizzati sono ignorati, poiché tutti i materiali nella scena utilizzano temporaneamente un materiale di debug. Ciò significa che il risultato delle funzioni degli shader personalizzati (come lo scostamento di vertici) non sarà più visibile quando si utilizza questa modalità.

DebugDraw DEBUG_DRAW_WIREFRAME = 4

Gli oggetti sono visualizzati come modelli fildiferro.

Nota: È necessario chiamare RenderingServer.set_debug_generate_wireframes() prima di caricare qualsiasi mesh affinché i fildiferro siano visibili quando si utilizza il renderer Compatibilità.

Nota: Nel renderer Compatibilità, le facce posteriori sono sempre visibili quando si usa il rendering fildiferro. Nei renderer Forward+ e Mobile, i fildiferro seguono invece le proprietà di culling delle facce posteriori del materiale.

DebugDraw DEBUG_DRAW_NORMAL_BUFFER = 5

Gli oggetti sono visualizzati senza informazioni sull'illuminazione e le loro texture sono sostituite dalla mappatura normale.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_VOXEL_GI_ALBEDO = 6

Gli oggetti sono visualizzati solo con il valore di albedo dai VoxelGI. Richiede almeno un nodo VoxelGI visibile che è stato elaborato affinché abbia un effetto tangibile.

Nota: Supportato solo quando si utilizza il metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_VOXEL_GI_LIGHTING = 7

Gli oggetti sono visualizzati solo con il valore di illuminazione dai VoxelGI. Richiede almeno un nodo VoxelGI visibile che è stato elaborato affinché abbia un effetto tangibile.

Nota: Supportato solo quando si utilizza il metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_VOXEL_GI_EMISSION = 8

Gli oggetti sono visualizzati solo con il colore di emissione dai VoxelGI. Richiede almeno un nodo VoxelGI visibile che è stato elaborato affinché abbia un effetto tangibile.

Nota: Supportato solo quando si utilizza il metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_SHADOW_ATLAS = 9

Disegna l'atlante delle ombre che memorizza le ombre degli OmniLight3D e gli SpotLight3D nel quadrante in alto a sinistra della Viewport.

DebugDraw DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS = 10

Disegna l'atlante delle ombre che memorizza le ombre provenienti dai DirectionalLight3D nel quadrante superiore sinistro della Viewport.

DebugDraw DEBUG_DRAW_SCENE_LUMINANCE = 11

Disegna il buffer di luminanza della scena (se disponibile) nel quadrante superiore sinistro della Viewport.

Nota: Supportato solo quando si utilizzano i metodi di rendering Forward+ o Mobile.

DebugDraw DEBUG_DRAW_SSAO = 12

Disegna la texture di occlusione ambientale dello spazio dello schermo anziché la scena, in modo che si possa vedere chiaramente come influisce sugli oggetti. Affinché questa modalità di visualizzazione funzioni, è necessario che Environment.ssao_enabled sia impostato nel proprio WorldEnvironment.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_SSIL = 13

Disegna la texture di illuminazione indiretta nello spazio dello schermo anziché la scena, in modo che si possa vedere chiaramente come influisce sugli oggetti. Affinché questa modalità di visualizzazione funzioni, è necessario che Environment.ssil_enabled sia impostato nel proprio WorldEnvironment.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_PSSM_SPLITS = 14

Colora ogni divisione PSSM per i DirectionalLight3D nella scena con un colore diverso in modo da poter vedere dove si trovano le divisioni. In ordine (dal più vicino al più lontano dalla telecamera), sono colorate in rosso, verde, blu e giallo.

Nota: Quando si utilizza questa modalità di disegno di debug, gli shader personalizzati sono ignorati, poiché tutti i materiali nella scena utilizzano temporaneamente un materiale di debug. Ciò significa che il risultato delle funzioni degli shader personalizzati (come lo scostamento di vertici) non sarà più visibile quando si utilizza questa modalità.

Nota: Supportato solo quando si utilizzano i metodi di rendering Forward+ o Mobile.

DebugDraw DEBUG_DRAW_DECAL_ATLAS = 15

Disegna l'atlante delle decalcomanie utilizzato dalle Decal e dalle texture di proiettori di luce nel quadrante superiore sinistro della Viewport.

Nota: Supportato solo quando si utilizzano i metodi di rendering Forward+ o Mobile.

DebugDraw DEBUG_DRAW_SDFGI = 16

Disegna le cascate utilizzate per renderizzare l'illuminazione globale con signed distance field (SDFGI).

Non fa nulla se Environment.sdfgi_enabled dell'ambiente attuale è false.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_SDFGI_PROBES = 17

Disegna le sonde utilizzate per l'illuminazione globale con signed distance field (SDFGI).

Nell'editor, facendo clic sinistro su una sonda, appariranno dei punti luminosi aggiuntivi che mostrano le informazioni sull'occlusione. Un punto bianco indica che la luce non è affatto occlusa in quella posizione, mentre un punto rosso indica che la luce è completamente occlusa. Sono possibili valori intermedi.

Non fa nulla se Environment.sdfgi_enabled dell'ambiente attuale è false.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_GI_BUFFER = 18

Disegna il buffer utilizzato per l'illuminazione globale da VoxelGI o SDFGI. Richiede che VoxelGI (almeno un nodo VoxelGI elaborato visibile) o SDFGI (Environment.sdfgi_enabled) sia abilitato affinché abbia un effetto tangibile.

Nota: Supportato solo quando si utilizza il metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_DISABLE_LOD = 19

Disegna tutti gli oggetti al loro numero massimo di poligoni, a prescindere dalla loro distanza dalla telecamera. Nessun basso livello di dettaglio (LOD) è applicato.

DebugDraw DEBUG_DRAW_CLUSTER_OMNI_LIGHTS = 20

Disegna il cluster utilizzato dai nodi OmniLight3D per ottimizzare il rendering della luce.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_CLUSTER_SPOT_LIGHTS = 21

Disegna il cluster utilizzato dai nodi SpotLight3D per ottimizzare il rendering della luce.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_CLUSTER_DECALS = 22

Disegna il cluster utilizzato dai nodi Decal per ottimizzare il rendering delle decalcomanie.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_CLUSTER_REFLECTION_PROBES = 23

Disegna il cluster utilizzato dai nodi ReflectionProbe per ottimizzare il rendering delle decalcomanie.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_OCCLUDERS = 24

Disegna il buffer utilizzato per l'occlusion culling.

Nota: Supportato solo quando si utilizzano i metodi di rendering Forward+ o Mobile.

DebugDraw DEBUG_DRAW_MOTION_VECTORS = 25

Disegna linee vettoriali sulla viewport per indicare lo spostamento dei pixel tra i frame.

Nota: Supportato solo quando si utilizza i metodo di rendering Forward+.

DebugDraw DEBUG_DRAW_INTERNAL_BUFFER = 26

Disegna il buffer interno di risoluzione della scena in uno spazio colore lineare prima di applicare la mappatura dei toni o la post-elaborazione.

Nota: Supportato solo quando si utilizzano i metodi di rendering Forward+ o Mobile.

DebugDraw DEBUG_DRAW_CLUSTER_AREA_LIGHTS = 27

Draws the cluster used by AreaLight3D nodes to optimize light rendering.

Note: Only supported when using the Forward+ rendering method.

DebugDraw DEBUG_DRAW_AREA_LIGHT_ATLAS = 28

Draws the atlas used by AreaLight3D nodes in the upper left quadrant of the Viewport.

Note: Only supported when using the Forward+ or Mobile rendering method.


enum DefaultCanvasItemTextureFilter: 🔗

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST = 0

Il filtro della texture legge solamente il pixel più vicino. Ciò rende la texture pixellata da vicino, e granulosa da lontano (poiché non sono campionate le mipmap).

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR = 1

Il filtro della texture fonde tra i 4 pixel più vicini. Ciò rende la texture liscia da vicino e granulosa da lontano (poiché non sono campionate le mipmap).

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS = 2

Il filtro della texture fonde tra i 4 pixel più vicini e tra le 2 mipmap più vicine (o usa la mipmap più vicina se ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter è true). Ciò rende la texture liscia da vicino, e liscia da lontano.

Usa questo filtro per texture non pixel art che potrebbero visualizzarsi a bassa scala (ad esempio a causa dello zoom Camera2D o del ridimensionamento degli sprite), poiché le mipmap sono importanti per smussare i pixel più piccoli dei pixel sullo schermo.

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS = 3

Il filtro della texture legge dal pixel più vicino e lo fonde tra le 2 mipmap più vicine (o usa la mipmap più vicina se ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter è true). Ciò rende la texture pixelata da vicino, e liscia da lontano.

Usa questo filtro per texture non pixel art che potrebbero visualizzarsi a bassa scala (ad esempio a causa dello zoom Camera2D o del ridimensionamento degli sprite), poiché le mipmap sono importanti per smussare i pixel più piccoli dei pixel sullo schermo.

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_PARENT_NODE = 4

The Viewport will inherit the filter from its parent CanvasItem or Viewport.

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_MAX = 5

Rappresenta la dimensione dell'enumerazione DefaultCanvasItemTextureFilter.


enum DefaultCanvasItemTextureRepeat: 🔗

DefaultCanvasItemTextureRepeat DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_DISABLED = 0

Disattiva la ripetizione delle texture. Invece, quando si leggono gli UV al di fuori dell'intervallo tra 0 e 1, il valore sarà limitato sui bordi della texture, portando a un aspetto allargato dei bordi della texture.

DefaultCanvasItemTextureRepeat DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_ENABLED = 1

Abilita la ripetizione della texture quando le coordinate UV sono all di fuori dell'intervallo da 0 a 1. Se si utilizza una delle modalità di filtraggio lineare, ciò può provocare artefatti ai bordi di una texture quando il campionatore filtra attraverso i bordi della texture.

DefaultCanvasItemTextureRepeat DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_MIRROR = 2

Capovolte la texture per la ripetizione in modo che i bordi si allineano invece di cambiare bruscamente.

DefaultCanvasItemTextureRepeat DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_PARENT_NODE = 3

The Viewport will inherit the repeat mode from its parent CanvasItem or Viewport.

DefaultCanvasItemTextureRepeat DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_MAX = 4

Rappresenta la dimensione dell'enumerazione DefaultCanvasItemTextureRepeat.


enum SDFOversize: 🔗

SDFOversize SDF_OVERSIZE_100_PERCENT = 0

Il campo di distanza con segno copre solo il rettangolo della viewport.

SDFOversize SDF_OVERSIZE_120_PERCENT = 1

Il campo di distanza con segno è esteso per coprire il 20% delle dimensioni della viewport attorno ai bordi.

SDFOversize SDF_OVERSIZE_150_PERCENT = 2

Il campo di distanza con segno è esteso per coprire il 50% delle dimensioni della viewport attorno ai bordi.

SDFOversize SDF_OVERSIZE_200_PERCENT = 3

Il campo di distanza con segno è esteso per coprire il 100% (il doppio) delle dimensioni della viewport attorno ai bordi.

SDFOversize SDF_OVERSIZE_MAX = 4

Rappresenta la dimensione dell'enumerazione SDFOversize.


enum SDFScale: 🔗

SDFScale SDF_SCALE_100_PERCENT = 0

Il campo di distanza con segno è visualizzato alla risoluzione piena.

SDFScale SDF_SCALE_50_PERCENT = 1

Il campo di distanza con segno è visualizzato a metà della risoluzione di questa viewport.

SDFScale SDF_SCALE_25_PERCENT = 2

Il campo della distanza con segno è visualizzato a un quarto della risoluzione di questa viewport.

SDFScale SDF_SCALE_MAX = 3

Rappresenta la dimensione dell'enumerazione SDFScale.


enum VRSMode: 🔗

VRSMode VRS_DISABLED = 0

Il Variable Rate Shading è disattivato.

VRSMode VRS_TEXTURE = 1

Il Variable Rate Shading usa una texture. Nota, per la stereoscopia usa un atlante di texture con una texture per ogni vista.

VRSMode VRS_XR = 2

La texture del Variable Rate Shading è fornita dall'interfaccia XRInterface primaria.

VRSMode VRS_MAX = 3

Rappresenta la dimensione dell'enumerazione VRSMode.


enum VRSUpdateMode: 🔗

VRSUpdateMode VRS_UPDATE_DISABLED = 0

La texture di ingresso per il variable rate shading non sarà elaborata.

VRSUpdateMode VRS_UPDATE_ONCE = 1

La texture di ingresso per il variable rate shading sarà elaborata una sola volta.

VRSUpdateMode VRS_UPDATE_ALWAYS = 2

La texture di ingresso per il variable rate shading sarà elaborata ogni frame.

VRSUpdateMode VRS_UPDATE_MAX = 3

Rappresenta la dimensione dell'enumerazione VRSUpdateMode.


Descrizioni delle proprietà

AnisotropicFiltering anisotropic_filtering_level = 2 🔗

Imposta il numero massimo di campioni da ricavare quando si usa il filtro anisotropico sulle texture (come potenza di due). Un numero di campioni più alto produrrà texture più nitide ad angoli obliqui, ma è più costoso da calcolare. Un valore di 0 disabilita forzatamente il filtro anisotropico, anche sui materiali in cui è abilitato.

Il livello di filtro anisotropico influisce anche su decalcomanie e proiettori di luce se sono configurati per usare il filtro anisotropico. Vedi ProjectSettings.rendering/textures/decals/filter e ProjectSettings.rendering/textures/light_projectors/filter.

Nota: In 3D, per fare in modo che questa impostazione abbia effetto, imposta BaseMaterial3D.texture_filter su BaseMaterial3D.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC o BaseMaterial3D.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC sui materiali.

Nota: In 2D, per fare in modo che questa impostazione abbia effetto, imposta CanvasItem.texture_filter su CanvasItem.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC o CanvasItem.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC sul nodo CanvasItem che visualizza la texture (o in CanvasTexture). Tuttavia, il filtro anisotropico è raramente utile in 2D, quindi abilitalo per le texture in 2D solo se produce una notevole differenza visiva.


bool audio_listener_enable_2d = false 🔗

  • void set_as_audio_listener_2d(value: bool)

  • bool is_audio_listener_2d()

Se true, la viewport elaborerà i flussi audio 2D.


bool audio_listener_enable_3d = false 🔗

  • void set_as_audio_listener_3d(value: bool)

  • bool is_audio_listener_3d()

Se true, la viewport elaborerà i flussi audio 3D.


int canvas_cull_mask = 4294967295 🔗

  • void set_canvas_cull_mask(value: int)

  • int get_canvas_cull_mask()

The rendering layers in which this Viewport renders CanvasItem nodes.

Note: A CanvasItem does not inherit its parents' visibility layers. See CanvasItem.visibility_layer's description for details.


DefaultCanvasItemTextureFilter canvas_item_default_texture_filter = 1 🔗

The default filter mode used by CanvasItem nodes in this viewport.


DefaultCanvasItemTextureRepeat canvas_item_default_texture_repeat = 0 🔗

The default repeat mode used by CanvasItem nodes in this viewport.


Transform2D canvas_transform 🔗

La trasformazione di canvas della viewport, utile per cambiare le posizioni sullo schermo di tutti i CanvasItem figlio. È relativo alla trasformazione di canvas globale della viewport.


DebugDraw debug_draw = 0 🔗

Modalità di sovrapposizione ("overlay") per testare la geometria renderizzata per motivi di debug.


bool disable_3d = false 🔗

  • void set_disable_3d(value: bool)

  • bool is_3d_disabled()

Disattiva il rendering 3D (ma mantiene il rendering 2D).


float fsr_sharpness = 0.2 🔗

  • void set_fsr_sharpness(value: float)

  • float get_fsr_sharpness()

Determina quanto sarà nitida l'immagine ingrandita quando si usa la modalità di upscaling FSR. La nitidezza si dimezza con ogni numero intero. I valori variano da 0,0 (più nitido) a 2,0. I valori superiori a 2,0 non faranno una differenza evidente.

Per controllare questa proprietà nella viewport radice, cambia l'impostazione del progetto ProjectSettings.rendering/scaling_3d/fsr_sharpness.


Transform2D global_canvas_transform 🔗

La trasformazione globale di canvas della viewport. La trasformazione di canvas è relativa a questa.


bool gui_disable_input = false 🔗

  • void set_disable_input(value: bool)

  • bool is_input_disabled()

Se true, la viewport non riceverà eventi di input.


int gui_drag_threshold = 10 🔗

  • void set_drag_threshold(value: int)

  • int get_drag_threshold()

The minimum distance the mouse cursor must move while pressed before a drag operation begins.


bool gui_embed_subwindows = false 🔗

  • void set_embedding_subwindows(value: bool)

  • bool is_embedding_subwindows()

Se true, le sottofinestre (popup e finestre di dialogo) saranno incorporate all'interno della finestra dell'applicazione come nodi simili a controlli. Se false, appariranno come finestre separate gestite dal sistema operativo.


bool gui_snap_controls_to_pixels = true 🔗

  • void set_snap_controls_to_pixels(value: bool)

  • bool is_snap_controls_to_pixels_enabled()

Se true, i controlli GUI sulla viewport si allineano perfettamente ai pixel.


bool handle_input_locally = true 🔗

  • void set_handle_input_locally(value: bool)

  • bool is_handling_input_locally()

Se true, questa viewport contrassegnerà gli eventi di input in arrivo come gestiti da sé stessa. Se false, ciò viene invece fatto dalla prima viewport padre impostata per gestire l'input localmente.

Un SubViewportContainer imposterà automaticamente questa proprietà su false per la Viewport contenuta al suo interno.

Vedi anche set_input_as_handled() e is_input_handled().


float mesh_lod_threshold = 1.0 🔗

  • void set_mesh_lod_threshold(value: float)

  • float get_mesh_lod_threshold()

Il bias LOD automatico da usare per le mesh renderizzate all'interno della Viewport (analogo a ReflectionProbe.mesh_lod_threshold). Valori più alti useranno versioni meno dettagliate delle mesh che hanno variazioni LOD generate. Se impostato su 0.0, il LOD automatico è disabilitato. Aumenta mesh_lod_threshold per migliorare le prestazioni a scapito dei dettagli della geometria.

Per controllare questa proprietà sulla viewport radice, cambia l'impostazione del progetto ProjectSettings.rendering/mesh_lod/lod_change/threshold_pixels.

Nota: A seconda degli attributi della mesh (colori dei vertici, forme di fusione, ecc.), una mesh potrebbe avere meno livelli di LOD generati per evitare distorsioni evidenti una volta che è influenzata dai colori dei vertici o dalle forme di fusione. Le mesh con pochissimi vertici non avranno alcun LOD generato, il che significa che questa impostazione non le influenzerà affatto. In generale, questa impostazione ha il maggiore impatto sulle mesh statiche con un elevato numero di vertici.

Nota: mesh_lod_threshold non influisce sugli intervalli di visibilità GeometryInstance3D (noti anche come LOD "manuale" o LOD gerarchico).


MSAA msaa_2d = 0 🔗

  • void set_msaa_2d(value: MSAA)

  • MSAA get_msaa_2d()

La modalità antialiasing multicampione per il rendering 2D/Canvas. Un numero più alto produce bordi più smussati a scapito di prestazioni notevolmente peggiori. Un valore di MSAA_2X o MSAA_4X è il migliore, a meno che non si punti a sistemi di fascia molto alta. Questo non ha alcun effetto sull'aliasing indotto da uno shader o sull'aliasing delle texture.

Vedi anche ProjectSettings.rendering/anti_aliasing/quality/msaa_2d e RenderingServer.viewport_set_msaa_2d().


MSAA msaa_3d = 0 🔗

  • void set_msaa_3d(value: MSAA)

  • MSAA get_msaa_3d()

La modalità antialiasing multicampione per il rendering 3D. Un numero più alto produce bordi più smussati a scapito di prestazioni notevolmente peggiori. Un valore di MSAA_2X o MSAA_4X è il migliore, a meno che non si punti a sistemi di fascia molto alta. Vedi anche bilinear scaling 3D scaling_3d_mode per il sovracampionamento, che fornisce una qualità superiore ma è molto più costoso. Questo non ha alcun effetto sull'aliasing indotto da uno shader o sull'aliasing delle texture.

Vedi anche ProjectSettings.rendering/anti_aliasing/quality/msaa_3d e RenderingServer.viewport_set_msaa_3d().


bool oversampling = true 🔗

  • void set_use_oversampling(value: bool)

  • bool is_using_oversampling()

Se true e una delle seguenti condizioni sono vere: SubViewport.size_2d_override_stretch e SubViewport.size_2d_override sono impostati, Window.content_scale_factor è impostato e il ridimensionamento è abilitato, oversampling_override è impostato, il sovracampionamento dei font e di DPITexture sono abilitati.


float oversampling_override = 0.0 🔗

  • void set_oversampling_override(value: float)

  • float get_oversampling_override()

Se maggiore di zero, questo valore è utilizzato come fattore di sovracampionamento dei font, altrimenti il sovracampionamento è uguale alla scala della viewport.


bool own_world_3d = false 🔗

  • void set_use_own_world_3d(value: bool)

  • bool is_using_own_world_3d()

Se true, la viewport utilizzerà una copia unica del World3D definito in world_3d.


bool physics_object_picking = false 🔗

  • void set_physics_object_picking(value: bool)

  • bool get_physics_object_picking()

Se true, gli oggetti renderizzati dalla viewport diventano soggetti al processo di selezione del mouse.

Nota: Il numero di oggetti selezionabili simultaneamente è limitato a 64 e sono selezionati in un ordine non deterministico, che può essere diverso in ogni processo di selezione.


bool physics_object_picking_first_only = false 🔗

  • void set_physics_object_picking_first_only(value: bool)

  • bool get_physics_object_picking_first_only()

Se true, il segnale input_event verrà inviato solo a un oggetto di fisica nel processo di selezione del mouse. Se vuoi ottenere solo l'oggetto più in alto, devi anche abilitare physics_object_picking_sort.

Se false, un segnale input_event verrà inviato a tutti gli oggetti di fisica nel processo di selezione del mouse.

Questo si applica solo alla selezione degli oggetto CanvasItem 2D.


bool physics_object_picking_sort = false 🔗

  • void set_physics_object_picking_sort(value: bool)

  • bool get_physics_object_picking_sort()

Se true, gli oggetti ricevono eventi di selezione del mouse ordinati principalmente in base al loro CanvasItem.z_index e secondariamente in base alla loro posizione nell'albero di scene. Se false, l'ordine non è determinato.

Nota: Questa impostazione è disabilitata per impostazione predefinita a causa del suo potenziale costo computazionale elevato.

Nota: L'ordinamento avviene dopo aver selezionato gli oggetti selezionabili. A causa della limitazione di 64 oggetti selezionabili contemporaneamente, non è garantito che l'oggetto con il CanvasItem.z_index più alto riceva l'evento di selezione.


bool positional_shadow_atlas_16_bits = true 🔗

  • void set_positional_shadow_atlas_16_bits(value: bool)

  • bool get_positional_shadow_atlas_16_bits()

Utilizza 16 bit per la mappa di profondità delle ombre omni/spot. Abilitando questa opzione le ombre avranno una precisione minore e potrebbero causare un'acne delle ombre, ma possono migliorare le prestazioni su alcuni dispositivi.


PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quad_0 = 2 🔗

La quantità di suddivisione del primo quadrante sull'atlante delle ombre.


PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quad_1 = 2 🔗

La quantità di suddivisione del secondo quadrante sull'atlante delle ombre.


PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quad_2 = 3 🔗

La quantità di suddivisione del terzo quadrante sull'atlante delle ombre.


PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quad_3 = 4 🔗

La quantità di suddivisione del quarto quadrante sull'atlante delle ombre.


int positional_shadow_atlas_size = 2048 🔗

  • void set_positional_shadow_atlas_size(value: int)

  • int get_positional_shadow_atlas_size()

La risoluzione dell'atlante delle ombre (utilizzata per luci omnidirezionali e faretti). Il valore è arrotondato alla potenza di 2 più vicina.

Nota: Se impostato su 0, non saranno visibili ombre posizionali. Ciò può migliorare significativamente le prestazioni sui sistemi di fascia bassa riducendo sia il carico della CPU sia il carico della GPU (poiché sono necessarie meno chiamate di disegno per disegnare la scena senza ombre).


Scaling3DMode scaling_3d_mode = 0 🔗

Imposta la modalità di ridimensionamento 3D. Il ridimensionamento bilineare renderizza a risoluzione diversa per sottocampionare o sovracampionare la viewport. FidelityFX Super Resolution 1.0, abbreviato in FSR, è una tecnologia di upscaling che produce immagini di alta qualità a frame rate elevati attraverso un algoritmo di upscaling consapevole dello spazio. FSR è leggermente più costoso di bilineare, ma produce una qualità dell'immagine significativamente più elevata. FSR dovrebbe essere utilizzato ove possibile.

Per controllare questa proprietà sulla viewport radice, cambia l'impostazione del progetto ProjectSettings.rendering/scaling_3d/mode.


float scaling_3d_scale = 1.0 🔗

  • void set_scaling_3d_scale(value: float)

  • float get_scaling_3d_scale()

Ridimensiona il buffer di rendering 3D in base alle dimensioni della viewport, utilizzando un filtro immagine specificato in ProjectSettings.rendering/scaling_3d/mode per ridimensionare l'immagine finale alle dimensioni complete della viewport. È possibile utilizzare valori inferiori a 1.0 per velocizzare il rendering 3D a scapito della qualità (sottocampionamento). Valori superiori a 1.0 sono validi solo per la modalità bilineare e possono essere utilizzati per migliorare la qualità del rendering 3D a un costo elevato in termini di prestazioni (sovracampionamento). Vedi anche ProjectSettings.rendering/anti_aliasing/quality/msaa_3d per l'antialiasing multi-campione, che è notevolmente più economico per le prestazioni, ma smussa solo i bordi dei poligoni.

Quando si utilizza l'upscaling FSR, AMD consiglia di esporre i seguenti valori come opzioni preimpostate agli utenti "Ultra Qualità: 0.77", "Qualità: 0.67", "Bilanciato: 0.59", "Prestazioni: 0.5" anziché esporre l'intera scala.

Per controllare questa proprietà nella viewport radice, cambia l'impostazione del progetto ProjectSettings.rendering/scaling_3d/scale.


ScreenSpaceAA screen_space_aa = 0 🔗

Imposta il metodo di antialiasing screen-space utilizzato. L'antialiasing screen-space funziona sfocando selettivamente i bordi in uno shader post-process. Si differenzia da MSAA che prende multipli campioni di copertura durante il rendering degli oggetti. I metodi di AA screen-space sono in genere più veloci di MSAA e smussano l'aliasing speculare, ma tendono a far apparire le scene sfocate.

Vedi anche ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa e RenderingServer.viewport_set_screen_space_aa().


SDFOversize sdf_oversize = 1 🔗

Controlla la quantità di dimensioni della finestra originale che deve essere coperta dal campo della distanza con segno 2D. Questo SDF può essere campionato negli shader CanvasItem ed è anche usato per la collisione di GPUParticles2D. Valori più alti consentono che le porzioni di occlusioni situati all'esterno della finestra siano comunque prese in considerazione nel campo di distanza con segno generato, a scapito delle prestazioni. Se noti particelle che cadono attraverso i LightOccluder2D quando gli occlusori abbandonano la viewport, aumenta questa impostazione.

La percentuale è aggiunta su ogni asse e su entrambi i lati. Ad esempio, con il valore predefinito SDF_OVERSIZE_120_PERCENT, il campo di distanza con segno coprirà il 20% della dimensione della viewport all'esterno della viewport su ogni lato (in alto, a destra, in basso, a sinistra).


SDFScale sdf_scale = 1 🔗

La scala di risoluzione da usare per il campo di distanza con segno 2D. Valori più alti portano a un campo di distanza con segno più preciso e più stabile mentre la telecamera si muove, a scapito delle prestazioni.


bool snap_2d_transforms_to_pixel = false 🔗

  • void set_snap_2d_transforms_to_pixel(value: bool)

  • bool is_snap_2d_transforms_to_pixel_enabled()

Se true, i nodi CanvasItem si allineano perfettamente ai pixel. La loro posizione può ancora essere in mezzo ai pixel, ma i decimali non avranno effetto. Ciò può portare a un aspetto più nitido a scapito di un movimento meno fluido, specialmente quando è abilitato la smussatura di Camera2D.


bool snap_2d_vertices_to_pixel = false 🔗

  • void set_snap_2d_vertices_to_pixel(value: bool)

  • bool is_snap_2d_vertices_to_pixel_enabled()

Se true, i vertici dei nodi CanvasItem si allineano perfettamente ai pixel. Influisce solo sulle posizioni finali dei vertici, non sulle trasformazioni. Ciò può portare a un aspetto più nitido a scapito di un movimento meno fluido, specialmente quando è abilitato la smussatura di Camera2D.


float texture_mipmap_bias = 0.0 🔗

  • void set_texture_mipmap_bias(value: float)

  • float get_texture_mipmap_bias()

Influisce sulla nitidezza finale della texture leggendo da una mipmap inferiore o superiore (chiamata anche "texture LOD bias"). I valori negativi rendono le texture mipmap più nitide ma più granulose se viste da lontano, mentre i valori positivi rendono le texture mipmap più sfocate (anche da vicino).

L'attivazione dell'antialiasing temporale (use_taa) applicherà automaticamente un offset di -0,5 a questo valore, mentre l'attivazione di FXAA (screen_space_aa) applicherà automaticamente un offset di -0,25 a questo valore. Se TAA e FXAA sono abilitati allo stesso tempo, a questo valore viene applicato un offset di -0,75.

Per controllare questa proprietà nella viewport radice, cambia l'impostazione del progetto ProjectSettings.rendering/textures/default_filters/texture_mipmap_bias.

Nota: Se scaling_3d_scale è inferiore a 1.0 (esclusivo), texture_mipmap_bias viene utilizzato per regolare il bias mipmap automatico calcolato internamente in base al fattore di scala. La formula per questo è log2(scaling_3d_scale) + mipmap_bias.

Nota: Questa proprietà è supportata solo nei renderer Forward+ e Mobile, non in Compatibilità. In Compatibilità, questa proprietà è sempre trattata come se fosse impostata su 0.0.


bool transparent_bg = false 🔗

  • void set_transparent_background(value: bool)

  • bool has_transparent_background()

If true, the viewport should render its background as transparent.

Note: Due to technical limitations, certain rendering features are disabled when a viewport has a transparent background. This currently applies to screen-space reflections, subsurface scattering, and depth of field.


bool use_debanding = false 🔗

  • void set_use_debanding(value: bool)

  • bool is_using_debanding()

Se true, utilizza un filtro di post-elaborazione veloce per ridurre notevolmente la visibiltà del banding. Se use_hdr_2d è false, il rendering 2D non è influenzato dal debanding a meno che Environment.background_mode non sia Environment.BG_CANVAS. Se use_hdr_2d è true, il debanding sarà applicato solo se questa è la Viewport radice e influenzerà tutto i rendering 2D e 3D, inclusi gli elementi canvas.

use_debanding non ha effetto quando si utilizza il metodo di rendering Compatibilità. Il renderer Mobile può anche utilizzare il debanding per i materiali, che è possibile impostare con RenderingServer.material_set_use_debanding() o configurare con ProjectSettings.rendering/anti_aliasing/quality/use_debanding.

Vedi anche ProjectSettings.rendering/anti_aliasing/quality/use_debanding, RenderingServer.material_set_use_debanding() e RenderingServer.viewport_set_use_debanding().


bool use_hdr_2d = false 🔗

  • void set_use_hdr_2d(value: bool)

  • bool is_using_hdr_2d()

Se true, il rendering 2D utilizzerà un framebuffer in formato HDR ("alta gamma dinamica") RGBA16. Inoltre, il rendering 2D sarà effettuato su valori lineari e sarà convertito attraverso l'apposita funzione di trasferimento subito prima di essere visualizzato sullo schermo (se la Viewport è collegata allo schermo).

In pratica, ciò significa che il risultato finale della Viewport non sarà limitato nell'intervallo 0-1 e si potrà utilizzare nel rendering 3D senza aggiustare la codifica dei colori. Ciò consente al rendering 2D di sfruttare gli effetti che richiedono un'alta gamma dinamica (ad esempio, il bagliore 2D) e migliora sostanzialmente l'aspetto degli effetti che richiedono gradienti molto dettagliati.


bool use_occlusion_culling = false 🔗

  • void set_use_occlusion_culling(value: bool)

  • bool is_using_occlusion_culling()

Se true, i nodi OccluderInstance3D saranno utilizzabili per l'occlusion culling in 3D per questa viewport. Per la viewport radice, ProjectSettings.rendering/occlusion_culling/use_occlusion_culling deve essere impostato su true.

Nota: L'abilitazione dell'occlusion culling ha un costo sulla CPU. Abilita l'occlusion culling solo se hai effettivamente intenzione di usarlo. Grandi scene aperte con pochi o nessun oggetto che blocca la vista in genere non usufruiranno dall'occlusion culling. Le grandi scene aperte in genere usufruiranno da mesh LOD e intervalli di visibilità (GeometryInstance3D.visibility_range_begin e GeometryInstance3D.visibility_range_end) rispetto all'occlusion culling.

Nota: A causa di vincoli di memoria, l'occlusion culling non è supportato per impostazione predefinita nei modelli di esportazione Web. Può essere abilitato compilando modelli di esportazione Web personalizzati con module_raycast_enabled=yes.


bool use_taa = false 🔗

  • void set_use_taa(value: bool)

  • bool is_using_taa()

Abilita l'antialiasing temporale per questa viewport. Il TAA funziona tremolando la telecamera e accumulando le immagini degli ultimi fotogrammi renderizzati, il rendering del vettore di movimento è utilizzato per tenere conto del movimento della telecamera e degli oggetti.

Nota: L'implementazione non è ancora completa. Alcune istanze visive come particelle e mesh con skin potrebbero mostrare artefatti di ghosting.

Vedi anche ProjectSettings.rendering/anti_aliasing/quality/use_taa e RenderingServer.viewport_set_use_taa().


bool use_xr = false 🔗

  • void set_use_xr(value: bool)

  • bool is_using_xr()

Se true, la viewport utilizzerà l'interfaccia XR primaria per renderizzare l'output di XR. Quando applicabile, ciò può generare un'immagine stereoscopica e il rendering risultante sarà trasmesso a un visore.


VRSMode vrs_mode = 0 🔗

La modalità Variable Rate Shading (VRS) utilizzata per questa viewport. Nota, se l'hardware non supporta VRS, questa proprietà è ignorata.


Texture2D vrs_texture 🔗

La texture da usare quando vrs_mode è impostato su VRS_TEXTURE.

La texture deve usare un formato di compressione senza perdite, in modo che i colori possano essere abbinati con precisione. Le seguenti densità di VRS sono mappate su vari colori, con i colori più brillanti che rappresentano un livello inferiore di precisione di ombreggiatura:

- 1×1 = rgb(0, 0, 0)     - #000000
- 1×2 = rgb(0, 85, 0)    - #005500
- 2×1 = rgb(85, 0, 0)    - #550000
- 2×2 = rgb(85, 85, 0)   - #555500
- 2×4 = rgb(85, 170, 0)  - #55aa00
- 4×2 = rgb(170, 85, 0)  - #aa5500
- 4×4 = rgb(170, 170, 0) - #aaaa00
- 4×8 = rgb(170, 255, 0) - #aaff00 - Non supportato sulla maggior parte degli hardware
- 8×4 = rgb(255, 170, 0) - #ffaa00 - Non supportato sulla maggior parte degli hardware
- 8×8 = rgb(255, 255, 0) - #ffff00 - Non supportato sulla maggior parte degli hardware

VRSUpdateMode vrs_update_mode = 1 🔗

Imposta la modalità di aggiornamento per il Variable Rate Shading (VRS) per la viewport. Il VRS richiede che la texture di input sia convertita nel formato utilizzabile dal metodo VRS supportato dall'hardware. La modalità di aggiornamento definisce la frequenza con cui ciò avviene. Se la GPU non supporta VRS o VRS non è abilitato, questa proprietà è ignorata.


World2D world_2d 🔗

Il World2D personalizzato che può essere utilizzato come sorgente dell'ambiente 2D.


World3D world_3d 🔗

Il World3D personalizzato che può essere utilizzato come sorgente dell'ambiente 3D.


Descrizioni dei metodi

World2D find_world_2d() const 🔗

Restituisce il primo World2D valido per questa viewport, cercando la proprietà world_2d di se stessa e di qualsiasi antenato della Viewport.


World3D find_world_3d() const 🔗

Restituisce il primo World3D valido per questa viewport, cercando la proprietà world_3d di se stessa e di qualsiasi antenato della Viewport.


AudioListener2D get_audio_listener_2d() const 🔗

Restituisce l'ascoltatore audio 2D attualmente attivo. Restituisce null se non ci sono ascoltatori audio 2D, nel qual caso la telecamera 2D attiva sarà trattata come ascoltatore.


AudioListener3D get_audio_listener_3d() const 🔗

Restituisce l'ascoltatore audio 3D attualmente attivo. Restituisce null se non ci sono ascoltatori audio 3D, nel qual caso la telecamera 3D attiva sarà trattata come ascoltatore.


Camera2D get_camera_2d() const 🔗

Returns the currently active 2D camera. Returns null if there are no active cameras.

Note: If called while the Camera Override system is active in editor, this will return the internally managed override camera. It is therefore advised to avoid caching the return value, or to check that the cached value is still a valid instance and is the current camera before use. See @GlobalScope.is_instance_valid() and Camera2D.is_current().


Camera3D get_camera_3d() const 🔗

Returns the currently active 3D camera. Returns null if there are no active cameras.

Note: If called while the Camera Override system is active in editor, this will return the internally managed override camera. It is therefore advised to avoid caching the return value, or to check that the cached value is a valid instance and is the current camera before use. See @GlobalScope.is_instance_valid() and Camera3D.current.


bool get_canvas_cull_mask_bit(layer: int) const 🔗

Restituisce un singolo bit sulla maschera dello strato di rendering.


Array[Window] get_embedded_subwindows() const 🔗

Restituisce un'elenco delle finestre (Window) incorporate visibili all'interno della viewport.

Nota: Le Window all'interno di altre viewport non saranno elencate.


Transform2D get_final_transform() const 🔗

Restituisce la trasformazione dal sistema di coordinate della viewport al sistema di coordinate dell'incorporatore.


Vector2 get_mouse_position() const 🔗

Restituisce la posizione del mouse in questa Viewport nel sistema di coordinate di questa Viewport.


float get_oversampling() const 🔗

Restituisce il fattore di sovracampionamento della viewport.


PositionalShadowAtlasQuadrantSubdiv get_positional_shadow_atlas_quadrant_subdiv(quadrant: int) const 🔗

Restituisce la suddivisione di quadrante delle ombre posizionali del quadrante specificato.


int get_render_info(type: RenderInfoType, info: RenderInfo) 🔗

Restituisce le statistiche di rendering del tipo specificato.


Transform2D get_screen_transform() const 🔗

Restituisce la trasformazione dalle coordinate della Viewport alle coordinate dello schermo della finestra di gestione finestre che la contiene.


Transform2D get_stretch_transform() const 🔗

Restituisce la trasformazione di allungamento 2D calcolata automaticamente, tenendo conto delle impostazioni di allungamento della Viewport. Il valore finale è moltiplicato per Window.content_scale_factor, ma solo per la viewport radice. Se questo metodo viene chiamato su un SubViewport (ad esempio, in un albero di scene con SubViewportContainer e SubViewport), il fattore di scala della finestra radice non verrà applicato. Utilizzando Transform2D.get_scale() sul valore restituito, questo può essere utilizzato per compensare il ridimensionamento quando si aumenta lo zoom di un nodo Camera2D o per rimpicciolire un TextureRect in modo che sia pixel-perfect a prescindere dal fattore di scala calcolato automaticamente.

Nota: A causa del funzionamento del ridimensionamento dei pixel, la scala X e Y della trasformazione restituita potrebbe differire leggermente, anche quando Window.content_scale_aspect è impostato su una modalità che preserva le proporzioni dei pixel. Se Window.content_scale_aspect è Window.CONTENT_SCALE_ASPECT_IGNORE, la scala X e Y potrebbero differire significativamente.


ViewportTexture get_texture() const 🔗

Returns the viewport's texture.

Note: When trying to store the current texture (e.g. in a file), it might be completely black or outdated if used too early, especially when used in e.g. Node._ready(). To make sure the texture you get is correct, you can await RenderingServer.frame_post_draw signal.

func _ready():
    await RenderingServer.frame_post_draw
    $Viewport.get_texture().get_image().save_png("user://Screenshot.png")

Note: When use_hdr_2d is true the returned texture will be an HDR image using linear encoding.


RID get_viewport_rid() const 🔗

Restituisce il RID della viewport dal RenderingServer.


Rect2 get_visible_rect() const 🔗

Restituisce il rettangolo visibile nelle coordinate globali dello schermo.


void gui_cancel_drag() 🔗

Cancella l'operazione di trascinamento che è stata cominciata in precedenza attraverso Control._get_drag_data() o forzata con Control.force_drag().


Variant gui_get_drag_data() const 🔗

Restituisce i dati di trascinamento dalla GUI, restituiti in precedenza da Control._get_drag_data().


String gui_get_drag_description() const 🔗

Returns the human-readable description of the drag data, used for assistive apps.


Control gui_get_focus_owner() const 🔗

Restituisce il Control attualmente focalizzato all'interno di questa viewport. Se nessun Control ha il focus, restituisce null.


Control gui_get_hovered_control() const 🔗

Restituisce il Control su cui si trova attualmente il mouse in questa viewport. Se nessun Control ha il cursore, restituisce null.

In genere il nodo Control foglia o il livello più profondo del sottoalbero che è influenzato dal passaggio del mouse. Questo è molto utile se utilizzato insieme a Node.is_ancestor_of() per scoprire se il mouse si trova all'interno di un albero di controlli.


bool gui_is_drag_successful() const 🔗

Restituisce true se l'operazione di trascinamento ha successo.


bool gui_is_dragging() const 🔗

Restituisce true se la viewport sta attualmente effettuando un'operazione di trascinamento e dove un'azione di rilascio potrebbe occorrere in questa viewport.

Alternativa a Node.NOTIFICATION_DRAG_BEGIN e Node.NOTIFICATION_DRAG_END quando si preferisce recuperare direttamente il valore.


void gui_release_focus() 🔗

Rimuove il focus dal Control attualmente focalizzato all'interno di questa viewport. Se nessun Control ha il focus, non fa nulla.


void gui_set_drag_description(description: String) 🔗

Sets the human-readable description of the drag data to description, used for assistive apps.


bool is_input_handled() const 🔗

Restituisce se l'InputEvent attuale è stato gestito. Gli eventi di input non sono gestiti finché non viene chiamato set_input_as_handled() durante il ciclo di vita di un InputEvent.

Questo viene solitamente fatto come parte di metodi di gestione dell'input come Node._input(), Control._gui_input() o altri, così come nei corrispondenti segnali.

Se handle_input_locally è impostato su false, questo metodo proverà a trovare la prima viewport genitore impostata per gestire l'input localmente e restituirà invece il suo valore per is_input_handled().


void notify_mouse_entered() 🔗

Informa la Viewport che il mouse è entrato nella sua area. Usa questa funzione prima di inviare un InputEventMouseButton o InputEventMouseMotion alla Viewport con push_input(). Vedi anche notify_mouse_exited().

Nota: Nella maggior parte dei casi, non è necessario chiamare questa funzione perché i nodi SubViewport che sono figli di SubViewportContainer vengono notificati automaticamente. Ciò è necessario solo quando si interagisce con le viewport in modi non predefiniti, ad esempio come texture in TextureRect o con un Area3D che inoltra gli eventi di input.


void notify_mouse_exited() 🔗

Informa la Viewport che il mouse è uscito dalla sua area. Usa questa funzione quando il nodo che visualizza la viewport nota che il mouse ha lasciato l'area della viewport visualizzata. Vedi anche notify_mouse_entered().

Nota: Nella maggior parte dei casi, non è necessario chiamare questa funzione perché i nodi SubViewport che sono figli di SubViewportContainer vengono notificati automaticamente. Ciò è necessario solo quando si interagisce con le viewport in modi non predefiniti, ad esempio come texture in TextureRect o con un Area3D che inoltra gli eventi di input.


void push_input(event: InputEvent, in_local_coords: bool = false) 🔗

Attiva l'evento event in questa Viewport. Può essere utilizzato per passare un InputEvent tra viewport o per applicare localmente gli input inviati tramite la rete o salvati in un file.

Se in_local_coords è false, la posizione dell'evento è nelle coordinate dell'incorporatore e sarà convertita in coordinate della viewport. Se in_local_coords è true, la posizione dell'evento è nelle coordinate della viewport.

Sebbene questo metodo svolga uno scopo simile a Input.parse_input_event(), non rimappa l'evento event in base alle impostazioni del progetto come ProjectSettings.input_devices/pointing/emulate_touch_from_mouse.

La chiamata a questo metodo propagherà le chiamate ai nodi figlio per i seguenti metodi nell'ordine indicato:

Se un metodo precedente contrassegna l'input come gestito tramite set_input_as_handled(), nessun metodo successivo in questo elenco verrà chiamato.

Se nessuno dei metodi gestisce l'evento e physics_object_picking è true, l'evento è utilizzato per la selezione degli oggetti di fisica.


void push_text_input(text: String) 🔗

Metodo di supporto che richiama il metodo set_text() sul Control attualmente attivo, a condizione che sia definito (ad esempio se il controllo attivo è Button o LineEdit).


void push_unhandled_input(event: InputEvent, in_local_coords: bool = false) 🔗

Deprecato: Use push_input() instead.

Attiva l'evento event in questa Viewport. Può essere utilizzato per passare un InputEvent tra viewport o per applicare localmente gli input inviati tramite la rete o salvati in un file.

Se in_local_coords è false, la posizione dell'evento è nelle coordinate dell'incorporatore e sarà convertita in coordinate della viewport. Se in_local_coords è true, la posizione dell'evento è nelle coordinate della viewport.

La chiamata a questo metodo propagherà le chiamate ai nodi figlio per i seguenti metodi nell'ordine indicato:

Se un metodo precedente contrassegna l'input come gestito tramite set_input_as_handled(), nessun metodo successivo in questo elenco verrà chiamato.

Se nessuno dei metodi gestisce l'evento e physics_object_picking è true, l'evento è utilizzato per la selezione degli oggetti di fisica.

Nota: Questo metodo non propaga gli eventi di input ai Window o SubViewport incorporati.


void set_canvas_cull_mask_bit(layer: int, enable: bool) 🔗

Imposta/cancella singoli bit sulla maschera dello strato di rendering. Ciò semplifica la modifica degli strati di questa Viewport.


void set_input_as_handled() 🔗

Stops the input from propagating further up the SceneTree.

Note: This does not affect the methods in Input, only the way events are propagated.


void set_positional_shadow_atlas_quadrant_subdiv(quadrant: int, subdiv: PositionalShadowAtlasQuadrantSubdiv) 🔗

Imposta il numero di suddivisioni da usare nel quadrante specificato. Un numero maggiore di suddivisioni consente di avere più ombre nella scena contemporaneamente, ma ne riduce la qualità. Una buona pratica è quella di avere quadranti con un numero variabile di suddivisioni e di avere il minor numero possibile di suddivisioni.


void update_mouse_cursor_state() 🔗

Forza l'aggiornamento immediato del display in base alla posizione attuale del cursore del mouse. Ciò include l'aggiornamento della forma del cursore del mouse, l'invio dei segnali necessari Control.mouse_entered, CollisionObject2D.mouse_entered, CollisionObject3D.mouse_entered e Window.mouse_entered e delle rispettive controparti mouse_exited.


void warp_mouse(position: Vector2) 🔗

Sposta il puntatore del mouse nella posizione specificata in questa Viewport nel sistema di coordinate di questa Viewport.

Nota: warp_mouse() è supportato solo su Windows, macOS e Linux. Non ha effetto su Android, iOS e Web.