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

Hérite de : Node < Object

Hérité par : SubViewport, Window

Classe de base abstraite pour les viewports. Encapsule le dessin et l'interaction avec un monde de jeu.

Description

Un Viewport crée une vue différente à l'écran, ou une sous-vue à l'intérieur d'un autre viewport. Les nœuds 2D enfants s'afficheront dessus, et les nœuds 3D Camera3D enfants rendront également dessus.

Optionnellement, un viewport peut avoir son propre monde 2D ou 3D, donc il ne partage pas ce qu'il dessine avec d'autres viewports.

Des viewports peuvent également choisir d'être des auditeurs audio, donc ils génèrent de l'audio positionnel en fonction d'une camera enfant 2D ou 3D.

De plus, des viewports peuvent être affectés à différents écrans au cas où les appareils ont plusieurs écrans.

Enfin, les viewports peuvent aussi se comporter comme des cibles de rendu, auquel cas ils ne seront pas visibles à moins que la texture associée ne soit utilisée pour dessiner.

Tutoriels

Propriétés

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

Méthodes

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)


Signaux

gui_focus_changed(node: Control) 🔗

Émis lorsqu'un nœud Control récupère le focus du clavier.

Note : Un nœud Control perdant le focus ne provoque pas l'émission de ce signal.


size_changed() 🔗

Émis lorsque la taille du viewport a changé, que ce soit en redimensionnant la fenêtre, ou par d'autres moyens.


Énumérations

enum PositionalShadowAtlasQuadrantSubdiv: 🔗

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED = 0

Ce quadrant ne sera pas utilisé.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_1 = 1

Ce quadrant ne sera utilisé que par une seule shadow map.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_4 = 2

Ce quadrant sera découpé en 4, et utilisé par jusqu'à 4 shadow maps.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_16 = 3

Ce quadrant sera découpé en 16, et utilisé par jusqu'à 16 shadow maps.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_64 = 4

Ce quadrant sera découpé en 64, et utilisé par jusqu'à 64 shadow maps.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_256 = 5

Ce quadrant sera découpé en 256, et utilisé par jusqu'à 256 shadow maps. Sauf si positional_shadow_atlas_size est très élevé, les ombres dans ce quadrant seront à très basse résolution.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_1024 = 6

Ce quadrant sera découpé en 1024, et utilisé par jusqu'à 1024 shadow maps. Sauf si positional_shadow_atlas_size est très élevé, les ombres de ce quadrant seront à très basse résolution.

PositionalShadowAtlasQuadrantSubdiv SHADOW_ATLAS_QUADRANT_SUBDIV_MAX = 7

Représente la taille de l'énumération PositionalShadowAtlasQuadrantSubdiv.


enum Scaling3DMode: 🔗

Scaling3DMode SCALING_3D_MODE_BILINEAR = 0

Utiliser une mise à l'échelle bilinéaire pour le buffer 3D du viewport. L'échelle peut être définie en utilisant scaling_3d_scale. Les valeurs inférieures à 1.0 entraîneront un sous-échantillonnage tandis que les valeurs supérieures à 1.0 entraîneront un sur-échantillonage. Une valeur de 1.0 désactive la mise à l'échelle.

Scaling3DMode SCALING_3D_MODE_FSR = 1

Utiliser l'upscaling AMD Fidelity FX Super Resolution 1.0 pour le buffer 3D du viewport. La quantité d'échelle peut être définie en utilisant scaling_3d_scale. Les valeurs inférieures à 1.0 résulteront en l'upscaling du viewport en utilisant le FSR. Les valeurs supérieures à 1.0 ne sont pas supportées et l'échantillonnage bilinéaire sera utilisé à la place. Une valeur de 1.0 désactive la mise à l'échelle.

Scaling3DMode SCALING_3D_MODE_FSR2 = 2

Utiliser la mise à l'échelle AMD Fidelity FX Super Resolution 2.2 pour le buffer 3D du viewport. L'échelle peut être définie en utilisant scaling_3d_scale. Les valeurs inférieures à 1.0 résulteront en la mise à l'échelle du viewport en utilisant la FSR2. Les valeurs supérieures à 1.0 ne sont pas supportées et un échantillonnage bilinéaire sera utilisé à la place. Une valeur de 1.0 utilisera la FSR2 en résolution native comme solution TAA.

Scaling3DMode SCALING_3D_MODE_METALFX_SPATIAL = 3

Utiliser l'upscaler spatial MetalFX pour le buffer 3D du viewport.

La quantité d'échelle peut être définie en utilisant scaling_3d_scale.

Les valeurs inférieures à 1.0 résulteront en l'upscaling du viewport en utilisant MetalFX. Les valeurs supérieures à 1.0 ne sont pas supportées et l'échantillonnage bilinéaire sera utilisé à la place. Une valeur de 1.0 désactive la mise à l'échelle.

Plus d'informations : MetalFX.

Note : Seulement supporté lorsque le pilote de rendu Metal est utilisé, ce qui limite ce mode d'échelle à macOS et iOS.

Scaling3DMode SCALING_3D_MODE_METALFX_TEMPORAL = 4

Use the MetalFX temporal upscaler for the viewport's 3D buffer.

The amount of scaling can be set using scaling_3d_scale. To determine the minimum input scale, use the RenderingDevice.limit_get() method with RenderingDevice.LIMIT_METALFX_TEMPORAL_SCALER_MIN_SCALE.

Values less than 1.0 will result in the viewport being upscaled using MetalFX. Values greater than 1.0 are not supported and bilinear downsampling will be used instead. A value of 1.0 will use MetalFX at native resolution as a TAA solution.

More information: MetalFX.

Note: Only supported when the Metal rendering driver is in use, which limits this scaling mode to macOS and 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

Représente la taille de l'énumération Scaling3DMode.


enum MSAA: 🔗

MSAA MSAA_DISABLED = 0

Mode d’anticrénelage multi-échantillion désactivé. Il s'agit de la valeur par défaut, et aussi du paramètre le plus rapide.

MSAA MSAA_2X = 1

Utiliser l'anti-crénelage multi-échantillion ×2 (×2 MSAA). Cela a un coût de performance modéré. Il aide à réduire le crénelage de façon notable, mais le MSAA 4× est toujours beaucoup plus beau.

MSAA MSAA_4X = 2

Utiliser l'anti-crénelage multi-échantillion ×4 (×4 MSAA). Cela a un coût de performance significatif, et est généralement un bon compromis entre performances et qualité.

MSAA MSAA_8X = 3

Utiliser l'anti-crénelage multi-échantillion ×8 (×8 MSAA). Cela a un très haut coût sur les performances. La différence entre la MSAA ×4 et ×8 n'est pas toujours visible en condition de gameplay réelles. Probablement non supporté sur du matériel ancien ou bas de gamme.

MSAA MSAA_MAX = 4

Représente la taille de l'énumération MSAA.


enum AnisotropicFiltering: 🔗

AnisotropicFiltering ANISOTROPY_DISABLED = 0

Le filtrage anisotrope est désactivé.

AnisotropicFiltering ANISOTROPY_2X = 1

Utiliser le filtrage anisotrope x2.

AnisotropicFiltering ANISOTROPY_4X = 2

Utiliser le filtrage anisotrope x4. Il s’agit de la valeur par défaut.

AnisotropicFiltering ANISOTROPY_8X = 3

Utiliser le filtrage anisotrope x8.

AnisotropicFiltering ANISOTROPY_16X = 4

Utiliser la filtrage anisotrope x16.

AnisotropicFiltering ANISOTROPY_MAX = 5

Représente la taille de l’énumération AnisotropicFiltering.


enum ScreenSpaceAA: 🔗

ScreenSpaceAA SCREEN_SPACE_AA_DISABLED = 0

Ne pas effectuer d'anticrénelage dans le post-traitement du plein écran.

ScreenSpaceAA SCREEN_SPACE_AA_FXAA = 1

Utiliser un antialiasing approximatif rapide. La FXAA est une méthode populaire d'anti-crénelage de l'espace-écran, qui est rapide, mais rendra l'image floue, en particulier dans les basses résolutions. Elle peut toujours fonctionner relativement bien dans de grandes résolutions telles que 1440p et 4K.

ScreenSpaceAA SCREEN_SPACE_AA_SMAA = 2

Utiliser l’anticrénelage morphologique sous-pixel. La SMAA peut produire des résultats plus clairs que la FXAA, mais à un coût de performance légèrement plus élevé.

ScreenSpaceAA SCREEN_SPACE_AA_MAX = 3

Représente la taille de l'énumération ScreenSpaceAA.


enum RenderInfo: 🔗

RenderInfo RENDER_INFO_OBJECTS_IN_FRAME = 0

Quantité d’objets dans le cadre.

RenderInfo RENDER_INFO_PRIMITIVES_IN_FRAME = 1

Quantité de sommets dans l'image.

RenderInfo RENDER_INFO_DRAW_CALLS_IN_FRAME = 2

Le nombre de draw calls à chaque trame.

RenderInfo RENDER_INFO_MAX = 3

Représente la taille de l'énumération RenderInfo.


enum RenderInfoType: 🔗

RenderInfoType RENDER_INFO_TYPE_VISIBLE = 0

Passe de rendu du visible (hors ombres).

RenderInfoType RENDER_INFO_TYPE_SHADOW = 1

Passe de rendu des ombres. Les objets seront rendus plusieurs fois en fonction du nombre de lumières avec des ombres et du nombre de divisions des ombres directionnelles.

RenderInfoType RENDER_INFO_TYPE_CANVAS = 2

Rendu des éléments de canevas. Cela inclut tous les rendus 2D.

RenderInfoType RENDER_INFO_TYPE_MAX = 3

Représente la taille de l'énumération RenderInfoType.


enum DebugDraw: 🔗

DebugDraw DEBUG_DRAW_DISABLED = 0

Les objets sont affichés normalement.

DebugDraw DEBUG_DRAW_UNSHADED = 1

Les objets sont affichés sans les informations de lumière.

DebugDraw DEBUG_DRAW_LIGHTING = 2

Les objets sont affichés sans texture et seulement avec des informations d'éclairage.

Note : Lors de l'utilisation de ce mode de dessin de débogage, les shaders personnalisés sont ignorés puisque tous les matériaux de la scène utilisent temporairement un matériau de débogage. Cela signifie que le résultat des fonctions de shader personnalisés (comme le déplacement de sommets) ne sera plus visible lors de l'utilisation de ce mode de dessin de débogage.

DebugDraw DEBUG_DRAW_OVERDRAW = 3

Les objets sont affichés en semi-transparent avec un mélange additif afin que vous puissiez voir où ils dessinent les uns sur les autres. Un sur-dessin plus élevé signifie que vous perdez des performances sur le dessin de pixels qui sont cachés derrière d'autres.

Note : Lors de l'utilisation de ce mode de dessin de débogage, les shaders personnalisés sont ignorés puisque tous les matériaux de la scène utilisent temporairement un matériau de débogage. Cela signifie que le résultat des fonctions de shader personnalisés (comme le déplacement de sommets) ne sera plus visible lors de l'utilisation de ce mode de dessin de débogage.

DebugDraw DEBUG_DRAW_WIREFRAME = 4

Objects are displayed as wireframe models.

Note: RenderingServer.set_debug_generate_wireframes() must be called before loading any meshes for wireframes to be visible when using the Compatibility renderer.

Note: In the Compatibility renderer, backfaces are always visible when using wireframe rendering. In the Forward+ and Mobile renderers, wireframes follow the material's backface culling properties instead.

DebugDraw DEBUG_DRAW_NORMAL_BUFFER = 5

Les objets sont affichés sans information d'éclairage et leurs textures sont remplacées par du normal mapping.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_VOXEL_GI_ALBEDO = 6

Les objets sont affichés avec seulement la valeur albédo des VoxelGIs. Nécessite au moins un nœud VoxelGI visible qui a été pré-calculé pour avoir un effet visible.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_VOXEL_GI_LIGHTING = 7

Les objets sont affichés avec seulement la valeur d'éclairage des VoxelGIs. Nécessite au moins un nœud VoxelGI visible qui a été pré-calculé pour avoir un effet visible.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_VOXEL_GI_EMISSION = 8

Les objets sont affichés avec seulement la couleur d'émission des VoxelGIs. Nécessite au moins un nœud VoxelGI visible qui a été pré-calculé pour avoir un effet visible.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_SHADOW_ATLAS = 9

Dessine l'atlas d'ombres qui stocke les ombres des OmniLight3Ds et des SpotLight3Ds dans le quadrant supérieur gauche du Viewport.

DebugDraw DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS = 10

Dessine l'atlas des ombres qui stocke les ombres des DirectionalLight3Ds dans le quadrant supérieur gauche du Viewport.

DebugDraw DEBUG_DRAW_SCENE_LUMINANCE = 11

Dessine le buffer de luminance de la scène (si disponible) dans le quadrant supérieur gauche du Viewport.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_SSAO = 12

Dessine la texture d'occlusion ambiante de l'espace-écran au lieu de la scène afin que vous puissiez voir clairement comment elle affecte les objets. Pour que ce mode d'affichage fonctionne, vous devez avoir Environment.ssao_enabled défini dans votre WorldEnvironment.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_SSIL = 13

Dessine la texture d'éclairage indirect de l'espace-écran au lieu de la scène afin que vous puissiez voir clairement comment elle affecte les objets. Pour que ce mode d'affichage fonctionne, vous devez avoir Environment.ssil_enabled défini dans votre WorldEnvironment.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_PSSM_SPLITS = 14

Colorise chaque division PSSM pour les DirectionalLight3Ds dans la scène avec une couleur différente afin que vous puissiez voir où sont les divisions. Dans l'ordre (de la plus proche à la plus éloignée de la caméra), elles sont coloriées en rouge, vert, bleu et jaune.

Note : Lors de l'utilisation de ce mode de dessin de débogage, les shaders personnalisées sont ignorés puisque tous les matériaux de la scène utilisent temporairement un matériau de débogage. Cela signifie que le résultat des fonctions de shaders personnalisées (comme le déplacement de sommets) ne sera plus visible lors de l'utilisation de ce mode de dessin de débogage.

Note : Seulement supporté lors de l'utilisation des méthodes de rendu Forward+ ou Mobile.

DebugDraw DEBUG_DRAW_DECAL_ATLAS = 15

Draws the decal atlas used by Decals and light projector textures in the upper left quadrant of the Viewport.

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

DebugDraw DEBUG_DRAW_SDFGI = 16

Dessine les cascades utilisées pour rendre l'illumination globale avec champ de distance signée (SDFGI).

Ne fait rien si le Environment.sdfgi_enabled de l'environnement actuel vaut false.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_SDFGI_PROBES = 17

Draws the probes used for signed distance field global illumination (SDFGI).

When in the editor, left-clicking a probe will display additional bright dots that show its occlusion information. A white dot means the light is not occluded at all at the dot's position, while a red dot means the light is fully occluded. Intermediate values are possible.

Does nothing if the current environment's Environment.sdfgi_enabled is false.

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

DebugDraw DEBUG_DRAW_GI_BUFFER = 18

Dessine le buffer utilisé pour l'illumination globale de VoxelGI ou de SDFGI. Nécessite que VoxelGI (au moins un nœud VoxelGI pré-calculé visible) ou que SDFGI (Environment.sdfgi_enabled) soit activé pour avoir un effet visible.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_DISABLE_LOD = 19

Dessine tous les objets à leur compte de polygones le plus haut indépendamment de leur distance de la caméra. Aucun niveau de détail faible (LOD) n'est appliqué.

DebugDraw DEBUG_DRAW_CLUSTER_OMNI_LIGHTS = 20

Dessine le cluster utilisé par les nœuds OmniLight3D pour optimiser le rendu de la lumière.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_CLUSTER_SPOT_LIGHTS = 21

Dessine le cluster utilisé par les nœuds SpotLight3D pour optimiser le rendu de la lumière.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_CLUSTER_DECALS = 22

Dessine le cluster utilisé par les nœuds Decal pour optimiser le rendu des décalques.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_CLUSTER_REFLECTION_PROBES = 23

Dessine le cluster utilisé par les nœuds ReflectionProbe pour optimiser les sondes de réflexion.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_OCCLUDERS = 24

Dessine le buffer utilisé pour l'occlusion culling.

Note : Seulement supporté lors de l'utilisation des méthodes de rendu Forward+ ou Mobile.

DebugDraw DEBUG_DRAW_MOTION_VECTORS = 25

Dessine des lignes de vecteur sur le viewport pour indiquer le mouvement des pixels entre les trames.

Note : Seulement supporté lors de l'utilisation de la méthode de rendu Forward+.

DebugDraw DEBUG_DRAW_INTERNAL_BUFFER = 26

Dessine le buffer de résolution interne de la scène dans l'espace de couleur linéaire avant que le tonemapping ou du post-traitement soit appliqué.

Note : Seulement supporté lors de l'utilisation des méthodes de rendu Forward+ ou 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

Le filtrage de texture lit le pixel le plus proche seulement. Cela rend la texture pixelisée de loin, et granuleuse à une certaine distance (à cause des mipmaps qui ne sont pas échantillonnées).

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR = 1

Le filtrage de texture mélange les 4 pixels les plus proches. Cela rend la texture lisse de près, et granuleuse à une certaine distance (à cause des mipmaps qui ne sont pas échantillonnées).

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS = 2

Le filtrage de texture fusionne les 4 pixels les plus proches et les 2 mipmaps les plus proches (ou utilise la mipmap le plus proche si ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter est true). Cela rend la texture lisse de près et lisse de loin.

Utilisez ce filtre pour les textures non pixel art susceptibles d'être visualisées à petite échelle (par exemple, grâce au zoom d'une Camera2D ou à la mise à l'échelle du sprite), car les mipmaps sont importantes pour lisser les pixels plus petits que ceux à l'écran.

DefaultCanvasItemTextureFilter DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS = 3

Le filtrage de texture lit à partir du pixel le plus proche et fusionne les deux mipmaps les plus proches (ou utilise la mipmap le plus proche si ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter vaut true). Cela donne à la texture un aspect pixelisé de près et lisse de loin.

Utilisez ce filtre pour les textures non pixel art susceptibles d'être visualisées à petite échelle (par exemple, à cause du zoom d'une Camera2D ou à la mise à l'échelle des sprites), car les mipmaps sont importantes pour lisser les pixels qui sont plus petits que les pixels à l'écran.

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

Représente la taille de l’énumération DefaultCanvasItemTextureFilter.


enum DefaultCanvasItemTextureRepeat: 🔗

DefaultCanvasItemTextureRepeat DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_DISABLED = 0

Désactive la répétition des textures. À la place, lors de la lecture d'UVs en dehors de l'intervalle 0-1, la valeur sera bornée au bord de la texture, ce qui donne un aspect étiré sur les bordures de la texture.

DefaultCanvasItemTextureRepeat DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_ENABLED = 1

Permet à la texture de se répéter lorsque les coordonnées UV sont à l'extérieur de l'intervalle 0-1. Si vous utilisez l'un des modes de filtrage linéaire, cela peut entraîner des artéfacts aux bords d'une texture lorsque l'échantillonneur filtre à travers les bords de la texture.

DefaultCanvasItemTextureRepeat DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_MIRROR = 2

Inverse la texture lors de la répétition de sorte que les bords correspondent au lieu de changer brusquement.

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

Représente la taille de l’énumération DefaultCanvasItemTextureRepeat.


enum SDFOversize: 🔗

SDFOversize SDF_OVERSIZE_100_PERCENT = 0

Le champ de distance signée ne couvre que le propre rectangle du viewport.

SDFOversize SDF_OVERSIZE_120_PERCENT = 1

Le champ de distance signée est étendu pour couvrir 20% de la taille du viewport autour des bordures.

SDFOversize SDF_OVERSIZE_150_PERCENT = 2

Le champ de distance signée est étendu pour couvrir 50% de la taille du viewport autour des bordures.

SDFOversize SDF_OVERSIZE_200_PERCENT = 3

Le champ de distance signée est étendu pour couvrir 100% (le double) de la taille du viewport autour des bordures.

SDFOversize SDF_OVERSIZE_MAX = 4

Représente la taille de l'énumération SDFOversize.


enum SDFScale: 🔗

SDFScale SDF_SCALE_100_PERCENT = 0

Le champ de distance signée est rendu à pleine résolution.

SDFScale SDF_SCALE_50_PERCENT = 1

Le champ de distance signée est rendu à la moitié de la résolution de ce viewport.

SDFScale SDF_SCALE_25_PERCENT = 2

Le champ de distance signée est rendu au quart de la résolution de ce viewport.

SDFScale SDF_SCALE_MAX = 3

Représente la taille de l'énumération SDFScale.


enum VRSMode: 🔗

VRSMode VRS_DISABLED = 0

Le Variable Rate Shading est désactivé.

VRSMode VRS_TEXTURE = 1

Le Variable Rate Shading utilise une texture. Notez qu'en stéréoscopique, il faut utiliser un atlas de textures avec une texture pour chaque vue.

VRSMode VRS_XR = 2

La texture du Variable Rate Shading est fournie par la XRInterface primaire.

VRSMode VRS_MAX = 3

Représente la taille de l'énumération VRSMode.


enum VRSUpdateMode: 🔗

VRSUpdateMode VRS_UPDATE_DISABLED = 0

La texture d'entrée pour le variable rate shading ne sera pas traitée.

VRSUpdateMode VRS_UPDATE_ONCE = 1

La texture d'entrée pour le variable rate shading sera traitée une fois.

VRSUpdateMode VRS_UPDATE_ALWAYS = 2

La texture d'entrée pour le variable rate shading sera traitée à chaque trame.

VRSUpdateMode VRS_UPDATE_MAX = 3

Représente la taille de l'énumération VRSUpdateMode.


Descriptions des propriétés

AnisotropicFiltering anisotropic_filtering_level = 2 🔗

Définit le nombre maximal d'échantillons à prendre lors de l'utilisation du filtrage anisotrope sur des textures (en puissance de deux). Un nombre plus élevé d'échantillons résultera en des textures plus nettes à des angles obliques, mais est plus cher à calculer. Une valeur de 0 désactive de force le filtrage anisotrope, même sur les matériaux où il est activé.

Le niveau du filtrage anisotrope affecte aussi les décalques et les projecteurs de lumière s'ils sont configurés pour utiliser le filtrage anisotrope. Voir ProjectSettings.rendering/textures/decals/filter et ProjectSettings.rendering/textures/light_projectors/filter.

Note : En 3D, pour que ce paramètre ait un effet, définissez BaseMaterial3D.texture_filter à BaseMaterial3D.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC ou BaseMaterial3D.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC sur les matériaux.

Note : En 2D, pour que ce paramètre ait un effet, définissez CanvasItem.texture_filter à CanvasItem.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC ou CanvasItem.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC sur le nœud CanvasItem affichant la texture (ou dans CanvasTexture). Cependant, le filtrage anisotrope est rarement utile en 2D, donc ne l'activez pour des textures 2D que si cela fait une différence visuelle significative.


bool audio_listener_enable_2d = false 🔗

  • void set_as_audio_listener_2d(value: bool)

  • bool is_audio_listener_2d()

Si true, la fenêtre d'affichage gèrera les flux audio 2D.


bool audio_listener_enable_3d = false 🔗

  • void set_as_audio_listener_3d(value: bool)

  • bool is_audio_listener_3d()

Si true, la fenêtre d'affichage gèrera les flux 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 transformation du canevas de la fenpetre d'affichage, utile pour changer les positions à l'écran de tous les CanvasItem enfants. C'est relatif à la transformation globale du canevas de la fenêtre d'affichage.


DebugDraw debug_draw = 0 🔗

Le mode de surcouche ("overlay") pour tester la géométrie rendue lors du débogage.


bool disable_3d = false 🔗

  • void set_disable_3d(value: bool)

  • bool is_3d_disabled()

Désactive le rendu 3D (mais garde le rendu 2D).


float fsr_sharpness = 0.2 🔗

  • void set_fsr_sharpness(value: float)

  • float get_fsr_sharpness()

Détermine la netteté de l'image mise à l'échelle lors de l'utilisation du mode de mise à l'échelle FSR. La netteté est divisée par deux à chaque nombre entier. Les valeurs vont de 0.0 (le plus net) à 2.0. Les valeurs supérieures à 2,0 ne feront pas de différence visible.

Pour contrôler cette propriété sur le viewport racine, définissez le paramètre de projet ProjectSettings.rendering/scaling_3d/fsr_sharpness.


Transform2D global_canvas_transform 🔗

La transformation globale de la toile de cette fenêtre d'affichage. La transformation en toile est relative à cela.


bool gui_disable_input = false 🔗

  • void set_disable_input(value: bool)

  • bool is_input_disabled()

Si true, la fenêtre d'affichage ne recevra pas les événements d'entrée.


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()

Si true, les sous-fenêtres (popups et boites de dialogue) seront intégrées dans la fenêtre de l'application d'une manière similaire à des nœuds Control. Si false, ils apparaîtront comme des fenêtres séparées gérées par le système d'exploitation.


bool gui_snap_controls_to_pixels = true 🔗

  • void set_snap_controls_to_pixels(value: bool)

  • bool is_snap_controls_to_pixels_enabled()

Si true, les contrôles de l'interface graphique dans la fenêtre d'affichage s'alignent au pixel près.


bool handle_input_locally = true 🔗

  • void set_handle_input_locally(value: bool)

  • bool is_handling_input_locally()

Si true, ce viewport marquera les événements d'entrée entrants gérés par lui-même. Si false, cela est fait à la place par le premier viewport parent qui est défini pour gérer les entrées localement.

Un SubViewportContainer définira automatiquement cette propriété à false pour le Viewport contenu à l'intérieur.

Voir aussi set_input_as_handled() et is_input_handled().


float mesh_lod_threshold = 1.0 🔗

  • void set_mesh_lod_threshold(value: float)

  • float get_mesh_lod_threshold()

The automatic LOD bias to use for meshes rendered within the Viewport (this is analogous to ReflectionProbe.mesh_lod_threshold). Higher values will use less detailed versions of meshes that have LOD variations generated. If set to 0.0, automatic LOD is disabled. Increase mesh_lod_threshold to improve performance at the cost of geometry detail.

To control this property on the root viewport, set the ProjectSettings.rendering/mesh_lod/lod_change/threshold_pixels project setting.

Note: Depending on the mesh's attributes (vertex colors, blend shapes, ...), a mesh may have fewer levels of LOD generated to avoid visible distortion of the mesh once it is affected by vertex colors or blend shapes. Meshes with a very low vertex count will also not have any LODs generated, which means this setting will not affect them at all. In general, this setting makes the largest impact on static meshes with a high vertex count.

Note: mesh_lod_threshold does not affect GeometryInstance3D visibility ranges (also known as "manual" LOD or hierarchical LOD).


MSAA msaa_2d = 0 🔗

  • void set_msaa_2d(value: MSAA)

  • MSAA get_msaa_2d()

Le mode d'anti-crénelage multi-échantillon pour le rendu 2D/Canevas. Un nombre plus élevé se traduit par des bords plus lisses au coût de performances nettement pires. Une valeur de MSAA_2X ou MSAA_4X est préférable à moins de cibler des systèmes très haut de gamme. Cela n'a aucun effet sur le crénelage du à des shaders ou le crénelage de texture.

Voir aussi ProjectSettings.rendering/anti_aliasing/quality/msaa_2d et RenderingServer.viewport_set_msaa_2d().


MSAA msaa_3d = 0 🔗

  • void set_msaa_3d(value: MSAA)

  • MSAA get_msaa_3d()

Le mode d'anti-crénelage multi-échantillon pour le rendu 3D. Un nombre plus élevé se traduit par des bords plus lisses au coût de performances nettement pires. Une valeur de MSAA_2X ou MSAA_4X est préférable à moins de cibler des systèmes très haut de gamme. Voir aussi la mise à l'échelle bilinéaire 3D scaling_3d_mode pour du sur-échantillonnage, qui fournit une qualité supérieure mais est beaucoup plus cher. Cela n'a aucun effet sur le crénelage du à des shaders ou le crénelage de texture.

Voir aussi ProjectSettings.rendering/anti_aliasing/quality/msaa_3d et RenderingServer.viewport_set_msaa_3d().


bool oversampling = true 🔗

  • void set_use_oversampling(value: bool)

  • bool is_using_oversampling()

Si true et que l'une des conditions suivantes est vraie : SubViewport.size_2d_override_stretch et SubViewport.size_2d_override sont définis, Window.content_scale_factor est activé et la mise à l'échelle est activée, oversampling_override est activé, le sur-échantillonnage des polices et de DPITexture est activé.


float oversampling_override = 0.0 🔗

  • void set_oversampling_override(value: float)

  • float get_oversampling_override()

Si supérieur à zéro, cette valeur est utilisée comme facteur de sur-échantillonnage de police, sinon le sur-échantillonnage est égal à l'échelle du viewport.


bool own_world_3d = false 🔗

  • void set_use_own_world_3d(value: bool)

  • bool is_using_own_world_3d()

Si true, le viewport utilisera une copie unique du World3D défini dans la propriété world_3d.


bool physics_object_picking = false 🔗

  • void set_physics_object_picking(value: bool)

  • bool get_physics_object_picking()

Si true, les objets rendus par le viewport deviennent des sujets du processus de sélection par la souris.

Note : Le nombre d'objets pouvant être choisis simultanément est limité à 64 et ils sont sélectionnés dans un ordre non déterministe, qui peut être différent à chaque processus de sélection.


bool physics_object_picking_first_only = false 🔗

  • void set_physics_object_picking_first_only(value: bool)

  • bool get_physics_object_picking_first_only()

Si true, le signal input_event ne sera envoyé qu'à un objet physique dans le processus de sélection de la souris. Si vous voulez obtenir l'objet du haut seulement, vous devez également activer physics_object_picking_sort.

Si false, un signal input_event sera envoyé à tous les objets physiques dans le processus de sélection de la souris.

Ceci s'applique à la sélection d'objets CanvasItem 2D uniquement.


bool physics_object_picking_sort = false 🔗

  • void set_physics_object_picking_sort(value: bool)

  • bool get_physics_object_picking_sort()

Si true, les objets reçoivent des événements de sélection de souris triés d'abord par leur CanvasItem.z_index puis par leur position dans l'arborescence de scène. Si false, l'ordre est indéterminé.

Note : Ce paramètre est désactivé par défaut en raison de son coût de calcul coûteux potentiel.

Note : Le tri s'effectue après avoir sélectionné les objets sélectionnables. En raison de la limitation de 64 objets récupérables simultanément, il n'est pas garanti que l'objet avec le plus haut CanvasItem.z_index reçoive l'événement de sélection.


bool positional_shadow_atlas_16_bits = true 🔗

  • void set_positional_shadow_atlas_16_bits(value: bool)

  • bool get_positional_shadow_atlas_16_bits()

Use 16 bits for the omni/spot shadow depth map. Enabling this results in shadows having less precision and may result in shadow acne, but can lead to performance improvements on some devices.


PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quad_0 = 2 🔗

La quantité de sous-division du premier quadrant de l'atlas de l'ombre.


PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quad_1 = 2 🔗

La quantité de sous-division du deuxième quadrant de l'atlas de l'ombre.


PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quad_2 = 3 🔗

La quantité de sous-division du troisième quadrant de l'atlas de l'ombre.


PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quad_3 = 4 🔗

La quantité de sous-division du quatrième quadrant de l'atlas de l'ombre.


int positional_shadow_atlas_size = 2048 🔗

  • void set_positional_shadow_atlas_size(value: int)

  • int get_positional_shadow_atlas_size()

La résolution de l'atlas des ombres (utilisé pour les SpotLights et OmniLights). La valeur est arrondie à la puissance de 2 la plus proche.

Note : Si cela est défini à 0, aucune ombre positionnelle ne sera visible du tout. Cela peut améliorer considérablement les performances sur les systèmes bas de gamme en réduisant à la fois la charge CPU et GPU (car il faut moins de draw calls pour dessiner la scène sans ombres).


Scaling3DMode scaling_3d_mode = 0 🔗

Définit le mode d'échelle 3D. L'échelle bilinéaire rend à une résolution différente pour soit sous-échantillonner soit sur-échantillonner le viewport. FidelityFX Super Resolution 1.0, abrégé en FSR, est une technologie de redimensionnement qui produit des images de haute qualité à des framerates rapides en utilisant un algorithme de redimensionnement spatialement conscient. Le FSR est légèrement plus cher que le bilinéaire, mais il produit une qualité d'image beaucoup plus élevée. Le FSR devrait être utilisé si possible.

Pour contrôler cette propriété sur le viewport racine, définissez le paramètre de projet ProjectSettings.rendering/scaling_3d/mode.


float scaling_3d_scale = 1.0 🔗

  • void set_scaling_3d_scale(value: float)

  • float get_scaling_3d_scale()

Redimensionne le buffer de rendu 3D selon la taille du viewport en utilisant un filtrage d'image spécifié dans ProjectSettings.rendering/scaling_3d/mode pour mettre à l'échelle l'image de sortie à la taille complète du viewport. Les valeurs inférieures à 1.0 peuvent être utilisées pour accélérer le rendu 3D au coût de la qualité (sous-échantillonnage). Les valeurs supérieures à 1.0 ne sont valables que pour le mode bilinéaire et peuvent être utilisées pour améliorer la qualité du rendu 3D à un coût élevé sur les performances (sur-échantillonnage). Voir aussi ProjectSettings.rendering/anti_aliasing/quality/msaa_3d pour l'anti-crénelage multi-échantillons, qui est nettement moins cher mais ne lisse que les bords des polygones.

Lors de l'utilisation de l'upscaling FSR, AMD recommande d'indiquer les valeurs suivantes comme options prédéfinies aux utilisateurs "Qualité Ultra : 0.77", "Qualité : 0.67", "Équilibré : 0.59", "Performances : 0.5" au lieu d'exposer l'échelle entière.

Pour contrôler cette propriété sur le viewport racine, définissez le paramètre de projet ProjectSettings.rendering/scaling_3d/scale.


ScreenSpaceAA screen_space_aa = 0 🔗

Définit la méthode d'anti-crénelage de l'espace-écran utilisée. L'anti-crénelage de l'espace-écran fonctionne en sélectionnant des bords flous dans un shader de post-traitement. Il diffère de la MSAA qui prend plusieurs échantillons de couverture tout en rendant des objets. Les méthodes d'anti-crénelage de l'espace d'écran sont généralement plus rapides que la MSAA et lissent le crénelage spéculaire, mais ont tendance à rendre les scènes floues.

Voir aussi ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa et RenderingServer.viewport_set_screen_space_aa().


SDFOversize sdf_oversize = 1 🔗

Controls how much of the original viewport's size should be covered by the 2D signed distance field. This SDF can be sampled in CanvasItem shaders and is also used for GPUParticles2D collision. Higher values allow portions of occluders located outside the viewport to still be taken into account in the generated signed distance field, at the cost of performance. If you notice particles falling through LightOccluder2Ds as the occluders leave the viewport, increase this setting.

The percentage is added on each axis and on both sides. For example, with the default SDF_OVERSIZE_120_PERCENT, the signed distance field will cover 20% of the viewport's size outside the viewport on each side (top, right, bottom, left).


SDFScale sdf_scale = 1 🔗

L'échelle de résolution à utiliser pour le champ de distance signée 2D. Les valeurs plus élevées conduisent à un champ de distance signée plus précis et plus stable lorsque la caméra se déplace, avec un coût sur les performances.


bool snap_2d_transforms_to_pixel = false 🔗

  • void set_snap_2d_transforms_to_pixel(value: bool)

  • bool is_snap_2d_transforms_to_pixel_enabled()

Si true, les nœuds CanvasItem s’aimanteront en interne sur des pixels complets. Leur position peut encore être au sous-pixel, mais les décimales n'auront pas d'effet. Cela peut conduire à un aspect plus net au coût d'un mouvement moins lisse, surtout lorsque le lissage de la Camera2D est activé.


bool snap_2d_vertices_to_pixel = false 🔗

  • void set_snap_2d_vertices_to_pixel(value: bool)

  • bool is_snap_2d_vertices_to_pixel_enabled()

Si true, les sommets des nœuds CanvasItem s’aimanteront sur des pixels complets. N'affecte que les positions finales des sommets, pas les transformations. Cela peut conduire à un aspect plus net au coût d'un mouvement moins lisse, surtout lorsque le lissage de la Camera2D est activé.


float texture_mipmap_bias = 0.0 🔗

  • void set_texture_mipmap_bias(value: float)

  • float get_texture_mipmap_bias()

Affects the final texture sharpness by reading from a lower or higher mipmap (also called "texture LOD bias"). Negative values make mipmapped textures sharper but grainier when viewed at a distance, while positive values make mipmapped textures blurrier (even when up close).

Enabling temporal antialiasing (use_taa) will automatically apply a -0.5 offset to this value, while enabling FXAA (screen_space_aa) will automatically apply a -0.25 offset to this value. If both TAA and FXAA are enabled at the same time, an offset of -0.75 is applied to this value.

To control this property on the root viewport, set the ProjectSettings.rendering/textures/default_filters/texture_mipmap_bias project setting.

Note: If scaling_3d_scale is lower than 1.0 (exclusive), texture_mipmap_bias is used to adjust the automatic mipmap bias which is calculated internally based on the scale factor. The formula for this is log2(scaling_3d_scale) + mipmap_bias.

Note: This property is only supported in the Forward+ and Mobile renderers, not Compatibility. In Compatibility, this property is always treated as if it was set to 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()

When using the Mobile or Forward+ renderers, set use_debanding to enable or disable the debanding feature of this Viewport. If use_hdr_2d is false, 2D rendering is not affected by debanding unless the Environment.background_mode is Environment.BG_CANVAS. If use_hdr_2d is true, debanding will only be applied if this is the root Viewport and will affect all 2D and 3D rendering, including canvas items.

use_debanding has no effect when using the Compatibility rendering method. The Mobile renderer can also use material debanding, which can be set with RenderingServer.material_set_use_debanding() or configured with ProjectSettings.rendering/anti_aliasing/quality/use_debanding.

See also ProjectSettings.rendering/anti_aliasing/quality/use_debanding, RenderingServer.material_set_use_debanding(), and RenderingServer.viewport_set_use_debanding().


bool use_hdr_2d = false 🔗

  • void set_use_hdr_2d(value: bool)

  • bool is_using_hdr_2d()

If true, 2D rendering will use a high dynamic range (HDR) RGBA16 format framebuffer. Additionally, 2D rendering will be performed on linear values and will be converted using the appropriate transfer function immediately before blitting to the screen (if the Viewport is attached to the screen).

Practically speaking, this means that the end result of the Viewport will not be clamped to the 0-1 range and can be used in 3D rendering without color encoding adjustments. This allows 2D rendering to take advantage of effects requiring high dynamic range (e.g. 2D glow) as well as substantially improves the appearance of effects requiring highly detailed gradients.


bool use_occlusion_culling = false 🔗

  • void set_use_occlusion_culling(value: bool)

  • bool is_using_occlusion_culling()

Si true, les nœuds OccluderInstance3D seront utilisables pour l'occlusion culling en 3D pour ce viewport. Pour le viewport racine, ProjectSettings.rendering/occlusion_culling/use_occlusion_culling doit être défini à true à la place.

Note : Activer l'occlusion culling a un coût sur le CPU. N'activer l'occlusion culling que si vous envisagez réellement de l'utiliser, et pensez si votre scène peut réellement bénéficier de l'occlusion culling. Les grandes scènes ouvertes avec peu ou pas d'objets bloquant la vue ne bénéficieront généralement pas beaucoup de l'occlusion culling. Les grandes scènes ouvertes profitent généralement davantage des plages de visibilité et des LODs de maillages (GeometryInstance3D.visibility_range_begin et GeometryInstance3D.visibility_range_end) par rapport à l'occlusion culling.

Note : En raison des contraintes de mémoire, l'occlusion culling n'est pas supporté par défaut dans les modèles d'export Web. Elle peut être activée en compilant des modèles d'export Web personnalisés avec module_raycast_enabled=yes.


bool use_taa = false 🔗

  • void set_use_taa(value: bool)

  • bool is_using_taa()

Enables temporal antialiasing for this viewport. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion.

Note: The implementation is not complete yet, some visual instances such as particles and skinned meshes may show artifacts.

See also ProjectSettings.rendering/anti_aliasing/quality/use_taa and RenderingServer.viewport_set_use_taa().


bool use_xr = false 🔗

  • void set_use_xr(value: bool)

  • bool is_using_xr()

Si true, le viewport utilisera l'interface primaire XR pour rendre la sortie XR. Le cas échéant, cela peut résulter en une image stéréoscopique et l'envoi du rendu résultant vers un casque.


VRSMode vrs_mode = 0 🔗

Le mode Variable Rate Shading (VRS) qui est utilisé pour ce viewport. Notez, si du matériel ne supporte pas le VRS, cette propriété est ignorée.


Texture2D vrs_texture 🔗

Texture à utiliser lorsque vrs_mode est défini à VRS_TEXTURE.

La texture doit utiliser un format de compression sans perte afin que les couleurs puissent être associées avec précision. Les densités VRS suivantes sont associées à différentes couleurs, avec les couleurs plus vives représentant un niveau inférieur de précision du shader :

- 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 supporté sur la plupart des matériels
- 8×4 = rgb(255, 170, 0) - #ffaa00 - Non supporté sur la plupart des matériels
- 8×8 = rgb(255, 255, 0) - #ffff00 - Non supporté sur la plupart des matériels

VRSUpdateMode vrs_update_mode = 1 🔗

Définit le mode de mise à jour pour le Variable Rate Shading (VRS) pour le viewport. Le VRS exige que la texture d'entrée soit convertie au format utilisable par la méthode VRS supportée par le matériel. Le mode de mise à jour définit combien de fois cela se produit. Si le GPU ne supporte pas le VRS, ou si le VRS n'est pas activé, cette propriété est ignorée.


World2D world_2d 🔗

Le World3D personnalisé qui peut être utilisé comme source pour l'environnement 2D.


World3D world_3d 🔗

Le World3D personnalisé qui peut être utilisé comme source d'environnement 3D.


Descriptions des méthodes

World2D find_world_2d() const 🔗

Renvoie le premier World2D valide de ce viewport, en cherchant dans sa propriété world_2d ainsi que celle de ses parents Viewport.


World3D find_world_3d() const 🔗

Renvoie le premier World3D valide de ce viewport, en cherchant dans sa propriété world_3d ainsi que celles de ses ancêtres Viewport.


AudioListener2D get_audio_listener_2d() const 🔗

Renvoie l'auditeur audio 2D actuellement actif. Renvoie null s'il n'y a pas d'auditeurs audio 2D actifs, auquel cas la caméra 2D active sera traitée comme auditeur.


AudioListener3D get_audio_listener_3d() const 🔗

Renvoie l'auditeur audio 3D actuellement actif. Renvoie null s'il n'y a pas d'auditeurs audio 3D actifs, auquel cas la caméra 3D active sera traitée comme auditeur.


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 🔗

Renvoie un bit individuel sur le masque des couches de rendu.


Array[Window] get_embedded_subwindows() const 🔗

Renvoie une liste des Windows intégrées visibles à l'intérieur du viewport.

Note : Les Windows à l'intérieur d'autres viewports ne seront pas listées.


Transform2D get_final_transform() const 🔗

Renvoie la transformation du système de coordonnées du viewport vers le système de coordonnées de l'intégrateur.


Vector2 get_mouse_position() const 🔗

Renvoie la position de la souris dans ce Viewport en utilisant le système de coordonnées de ce Viewport.


float get_oversampling() const 🔗

Renvoie le facteur de suréchantillonnage du viewport.


PositionalShadowAtlasQuadrantSubdiv get_positional_shadow_atlas_quadrant_subdiv(quadrant: int) const 🔗

Returns the positional shadow atlas quadrant subdivision of the specified quadrant.


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

Renvoie des statistiques de rendu du type donné.


Transform2D get_screen_transform() const 🔗

Returns the transform from the Viewport's coordinates to the screen coordinates of the containing window manager window.


Transform2D get_stretch_transform() const 🔗

Renvoie la transformation d'étirement 2D automatiquement calculée, en tenant compte des réglages d'étirement du Viewport. La valeur finale est multipliée par Window.content_scale_factor, mais seulement pour le viewport racine. Si cette méthode est appelée sur un SubViewport (par exemple, dans un arborescence de scène avec SubViewportContainer et SubViewport), le facteur d'échelle du viewport racine ne sera pas appliqué. En utilisant Transform2D.get_scale() sur la valeur renvoyée, cela peut être utilisé pour compenser l'échelle lors du zoom d'un nœud Camera2D, ou pour rétrécir un TextureRect pour être au pixel près indépendamment du facteur d'échelle calculé automatiquement.

Note : En raison de la façon dont fonctionne l'échelle des pixels, l'échelle en X et en Y de la transformation renvoyée peut différer légèrement, même lorsque Window.content_scale_aspect est définie à un mode qui conserve le rapport d'aspect des pixels. Si Window.content_scale_aspect vaut Window.CONTENT_SCALE_ASPECT_IGNORE, l'échelle en X et en Y peut différer de façon significative.


ViewportTexture get_texture() const 🔗

Renvoie la texture du viewport.

Note : Lorsque vous essayez de stocker la texture actuelle (par exemple dans un fichier), elle peut être complètement noire ou périmée si elle est utilisée trop tôt, surtout lorsqu'elle est utilisée par ex. dans Node._ready(). Pour vous assurer que la texture que vous obtenez est correcte, vous pouvez attendre le signal RenderingServer.frame_post_draw.

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

Note : Lorsque use_hdr_2d vaut true, la texture renvoyée sera une image HDR encodée dans l'espace linéaire.


RID get_viewport_rid() const 🔗

Renvoie le RID du viewport depuis le RenderingServer.


Rect2 get_visible_rect() const 🔗

Renvoie le rectangle de visibilité à l'écran dans les coordonnées globales.


void gui_cancel_drag() 🔗

Annule l'opération de glissement qui a déjà été lancée par Control._get_drag_data() ou forcée avec Control.force_drag().


Variant gui_get_drag_data() const 🔗

Renvoie les données de déposer-glisser du GUI, qui étaient précédemment renvoyées par 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 🔗

Renvoie le Control ayant actuellement le focus dans ce viewport. Si aucun Control n'a le focus, renvoie null.


Control gui_get_hovered_control() const 🔗

Renvoie le Control que la souris survole dans ce viewport. Si aucun Control n'a le curseur, renvoie null.

Typiquement le nœud Control feuille ou le niveau le plus profond du sous-arbre qui revendique le survol. Ceci est très utile lorsqu'utilisé avec Node.is_ancestor_of() pour trouver si la souris est dans un arbre de contrôles.


bool gui_is_drag_successful() const 🔗

Renvoie true si l'opération de glisser-déposer a réussi.


bool gui_is_dragging() const 🔗

Renvoie true si une opération de glissement est en cours et où l'action de déposer pourrait se produire dans ce viewport.

Alternative à Node.NOTIFICATION_DRAG_BEGIN et Node.NOTIFICATION_DRAG_END lorsque vous préférez sonder la valeur.


void gui_release_focus() 🔗

Retire le focus du Control ayant actuellement le focus dans ce viewport. Si aucun Control n'a le focus, ne fait rien.


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 🔗

Renvoie si l'InputEvent actuel a été géré. Les événements d'entrée ne sont pas gérés jusqu'à ce que set_input_as_handled() ait été appelée pendant la durée de vie d'un InputEvent.

Ceci est généralement fait dans le cadre de méthodes de manipulation des entrées comme Node._input(), Control._gui_input() ou d'autres, ainsi que dans les gestionnaires des signaux correspondants.

Si handle_input_locally est défini à false, cette méthode va essayer de trouver le premier viewport parent qui est défini pour gérer l'entrée localement, et de renvoyer sa valeur pour is_input_handled() à la place.


void notify_mouse_entered() 🔗

Informe le Viewport que la souris est entrée dans sa zone. Utilisez cette fonction avant d'envoyer un InputEventMouseButton ou un InputEventMouseMotion au Viewport avec push_input(). Voir aussi notify_mouse_exited().

Note : Dans la plupart des cas, il n'est pas nécessaire d'appeler cette fonction parce que les nœuds SubViewport qui sont des enfants de SubViewportContainer sont notifiés automatiquement. Cela n'est nécessaire que lorsqu'on interagit avec des viewports de façon non par défaut, par exemple comme des textures dans TextureRect ou avec une Area3D qui transmet les événements d'entrée.


void notify_mouse_exited() 🔗

Informe le Viewport que la souris a quitté sa zone. Utilisez cette fonction lorsque le nœud qui affiche le viewport note que la souris a quitté la zone du viewport affiché. Voir aussi notify_mouse_entered().

Note : Dans la plupart des cas, il n'est pas nécessaire d'appeler cette fonction parce que les nœuds SubViewport qui sont des enfants de SubViewportContainer sont notifiés automatiquement. Cela n'est nécessaire que lorsqu'on interagit avec des viewports de façon non par défaut, par exemple comme des textures dans TextureRect ou avec une Area3D qui transmet les événements d'entrée.


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

Déclenche l'évènement event donné dans ce Viewport. Cela peut être utilisé pour passer un InputEvent entre des viewports, ou pour appliquer localement des entrées qui ont été envoyées sur le réseau ou sauvegardées dans un fichier.

Si in_local_coords vaut false, la position de l'événement est dans les coordonnées de l'éditeur et sera convertie en coordonnées du viewport. Si in_local_coords vaut true, la position de l'événement est dans les coordonnées du viewport.

Bien que cette méthode serve un but similaire à Input.parse_input_event(), elle ne ré-associe pas l'event spécifié selon les paramètres du projet comme ProjectSettings.input_devices/pointing/emulate_touch_from_mouse.

L'appel de cette méthode va propager des appels aux nœuds enfants pour les méthodes suivantes dans l'ordre donné :

Si une méthode antérieure marque l'entrée comme gérée via set_input_as_handled(), toute méthode ultérieure dans cette liste ne sera pas appelée.

Si aucune des méthodes ne gèrent l'événement et que physics_object_picking vaut true, l'événement est utilisé pour la sélection d'objets physiques.


void push_text_input(text: String) 🔗

Méthode d'aide qui appelle la méthode set_text() sur le Control ayant actuellement le focus, à condition qu'elle soit définie (par ex. si le Control ciblé est un Button ou un LineEdit).


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

Obsolète : Use push_input() instead.

Déclenche l'évènement event donné dans ce Viewport. Cela peut être utilisé pour passer un InputEvent entre des viewports, ou pour appliquer localement des entrées qui ont été envoyées sur le réseau ou sauvegardées dans un fichier.

Si in_local_coords vaut false, la position de l'événement est dans les coordonnées de l'intégrateur et sera convertie en coordonnées du viewport. Si in_local_coords vaut true, la position de l'événement est dans les coordonnées du viewport.

L'appel de cette méthode va propager des appels aux nœuds enfants pour les méthodes suivantes dans l'ordre donné :

Si une méthode antérieure marque l'entrée comme gérée via set_input_as_handled(), toute méthode ultérieure dans cette liste ne sera pas appelée.

Si aucune des méthodes ne gèrent l'événement et que physics_object_picking vaut true, l'événement est utilisé pour la sélection d'objets physiques.

Note : Cette méthode ne propage pas d'événements d'entrée aux Windows ou SubViewports intégrés.


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

Définit ou efface des bits individuels sur le masque de couches de rendu. Cela simplifie l'édition des couches de ce 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) 🔗

Définit le nombre de sous-divisions à utiliser dans le quadrant spécifié. Un nombre plus élevé de sous-divisions vous permet d'avoir plus d'ombres dans la scène à la fois, mais réduit la qualité des ombres. Une bonne habitude est d'avoir des quadrants avec un nombre variable de sous-divisions et d'avoir peu de sous-divisions autant que possible.


void update_mouse_cursor_state() 🔗

Force la mise à jour instantanée de l'écran en fonction de la position actuelle du curseur de la souris. Cela comprend la mise à jour de la forme du curseur de la souris et l'envoi des signaux nécessaires Control.mouse_entered, CollisionObject2D.mouse_entered, CollisionObject3D.mouse_entered et Window.mouse_entered et leurs homologues respectifs mouse_exited.


void warp_mouse(position: Vector2) 🔗

Déplace le pointeur de la souris à la position spécifiée dans ce Viewport en utilisant le système de coordonnées de ce Viewport.

Note : warp_mouse() n'est supportée que sous Windows, macOS et Linux. Elle n'a aucun effet sur Android, iOS et Web.