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.

SpriteBase3D

Hérite de : GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Hérité par : AnimatedSprite3D, Sprite3D

Nœud sprite 2D dans l’environnement 3D.

Description

Un nœud qui affiche des informations de texture 2D dans un environnement 3D. Voir aussi Sprite3D où de nombreuses autres propriétés sont définies.

Propriétés

float

alpha_antialiasing_edge

0.0

AlphaAntiAliasing

alpha_antialiasing_mode

0

AlphaCutMode

alpha_cut

0

float

alpha_hash_scale

1.0

float

alpha_scissor_threshold

0.5

Axis

axis

2

BillboardMode

billboard

0

bool

centered

true

bool

double_sided

true

bool

fixed_size

false

bool

flip_h

false

bool

flip_v

false

Color

modulate

Color(1, 1, 1, 1)

bool

no_depth_test

false

Vector2

offset

Vector2(0, 0)

float

pixel_size

0.01

int

render_priority

0

bool

shaded

false

TextureFilter

texture_filter

3

bool

transparent

true

Méthodes

TriangleMesh

generate_triangle_mesh() const

bool

get_draw_flag(flag: DrawFlags) const

Rect2

get_item_rect() const

void

set_draw_flag(flag: DrawFlags, enabled: bool)


Énumérations

enum DrawFlags: 🔗

DrawFlags FLAG_TRANSPARENT = 0

Si elle est définie, la transparence de la texture et l'opacité sont utilisées pour rendre invisibles ces parties du sprite.

DrawFlags FLAG_SHADED = 1

Si définies, les lumières dans l'environnement affecte le sprite.

DrawFlags FLAG_DOUBLE_SIDED = 2

Si défini, le texture sera aussi visible de derrière. Sinon, la texture sera invisible en regardant par derrière.

DrawFlags FLAG_DISABLE_DEPTH_TEST = 3

Désactive le test de profondeur, de sorte que cet objet sera dessiné devant tous les autres. Cependant, les objets dessinés après lui dans l'ordre d'affichage peuvent être devant.

DrawFlags FLAG_FIXED_SIZE = 4

L'étiquette est mise à l'échelle suivant la distance pour qu'elle apparaisse toujours à la même taille à l'écran.

DrawFlags FLAG_MAX = 5

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


enum AlphaCutMode: 🔗

AlphaCutMode ALPHA_CUT_DISABLED = 0

Ce mode réalise un mélange l'opacité standard. Il peut afficher des zones translucides, mais des problèmes de tri selon la transparence peuvent être visibles lorsque plusieurs matériaux transparents se chevauchent.

AlphaCutMode ALPHA_CUT_DISCARD = 1

Ce mode n'autorise uniquement que les pixels entièrement transparents ou entièrement opaques. Des bords nets seront visibles à moins qu'une certaine forme d'anti-crénelage dans l'espace-écran ne soit activée (voir ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa). Ce mode a cependant l'avantage de ne pas souffrir de problèmes de tri de transparence lorsque plusieurs matériaux transparents se chevauchent. Ce mode est également connu sous le nom d'alpha testing ou 1-bit transparency.

AlphaCutMode ALPHA_CUT_OPAQUE_PREPASS = 2

Ce mode dessine des pixels entièrement opaques lors de la pré-passe de profondeur. Ceci est plus lent que ALPHA_CUT_DISABLED ou ALPHA_CUT_DISCARD, mais il permet d'afficher des zones translucides et des bords lisses tout en utilisant un tri approprié.

AlphaCutMode ALPHA_CUT_HASH = 3

Ce mode coupe toutes les valeurs en dessous d'un seuil dépendant de la position, le reste restera opaque.


Descriptions des propriétés

float alpha_antialiasing_edge = 0.0 🔗

  • void set_alpha_antialiasing_edge(value: float)

  • float get_alpha_antialiasing_edge()

Le seuil à partir duquel l'anticrénalage sera appliqué sur le canal alpha.


AlphaAntiAliasing alpha_antialiasing_mode = 0 🔗

Le type d’anticrénelage alpha à appliquer.


AlphaCutMode alpha_cut = 0 🔗

The alpha cutting mode to use for the sprite.


float alpha_hash_scale = 1.0 🔗

  • void set_alpha_hash_scale(value: float)

  • float get_alpha_hash_scale()

L'échelle de hachage pour Alpha Hash. Valeurs recommandées entre 0 et 2.


float alpha_scissor_threshold = 0.5 🔗

  • void set_alpha_scissor_threshold(value: float)

  • float get_alpha_scissor_threshold()

Le seuil à partir duquel le ciseau alpha ignorera les valeurs.


Axis axis = 2 🔗

  • void set_axis(value: Axis)

  • Axis get_axis()

La direction que pointe la face avant de cette texture.


BillboardMode billboard = 0 🔗

Le mode de billboard à utiliser pour le sprite.

Note : Lorsque la mode de billboard est activé et que le matériau projette également des ombres, les billboards feront face à la caméra dans la scène lors du rendu des ombres. Dans les scènes avec plusieurs caméras, l'ombre prévue ne peut pas être déterminée et cela résultera en un comportement indéfini. Voir la Pull Request GitHub #72638 pour plus de détails.


bool centered = true 🔗

  • void set_centered(value: bool)

  • bool is_centered()

Si true, la texture sera centrée.


bool double_sided = true 🔗

Si true, la texture est aussi affichée de dos, si false, elle est invisible de dos.


bool fixed_size = false 🔗

Si true, la texture est rendue à la même taille indépendamment de la distance. La taille de la texture à l'écran est la même que si la caméra était à 1.0 unités de l'origine de la texture, peu importe la distance réelle à la caméra. Le champ de vision de la Camera3D (ou Camera3D.size en mode orthogonal/frustum) affecte toujours la taille à laquelle le sprite est dessiné.


bool flip_h = false 🔗

  • void set_flip_h(value: bool)

  • bool is_flipped_h()

Si true, la texture est inversée horizontalement.


bool flip_v = false 🔗

  • void set_flip_v(value: bool)

  • bool is_flipped_v()

Si true, la texture est inversée verticalement.


Color modulate = Color(1, 1, 1, 1) 🔗

  • void set_modulate(value: Color)

  • Color get_modulate()

Une valeur de couleur utilisée pour multiplier les couleurs de la texture. Peut être utilisé pour la coloration d'ambiance ou pour simuler la couleur de la lumière ambiante.

Note : Contrairement à CanvasItem.modulate pour 2D, les couleurs avec des valeurs supérieures à 1.0 (overbright) ne sont pas supportées.

Note : Si un GeometryInstance3D.material_override est défini sur le SpriteBase3D, la redéfinition du matériau doit être configurée pour prendre en compte les couleurs des sommets pour l'albédo. Sinon, la couleur définie dans modulate sera ignorée. Pour un BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo doit valoir true. Pour un ShaderMaterial, ALBEDO *= COLOR.rgb; doit être inséré dans la fonction fragment() du shader.


bool no_depth_test = false 🔗

Si true, les tests de profondeur sont désactivés et l'objet sera dessiné suivant son ordre de rendu et non suivant sa distance.


Vector2 offset = Vector2(0, 0) 🔗

Le décalage du dessin de la texture.

Note : Lorsque vous augmentez offset.y dans Sprite3D, le sprite se déplace vers le haut dans l'espace global (c.-à-d. +Y est le haut).


float pixel_size = 0.01 🔗

  • void set_pixel_size(value: float)

  • float get_pixel_size()

La taille d'un des pixels de la sprite pour définir sa taille en 3D.


int render_priority = 0 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Définit la priorité de rendu pour le texte. Les objets plus prioritaires seront affichés par-dessus les objets les moins prioritaites.

Note : Cela ne s'applique que si alpha_cut est défini à ALPHA_CUT_DISABLED (c'est la valeur par défaut).

Note : Cela ne s'applique qu'au tri des objets transparents. Cela n'affectera pas la façon dont les objets transparents sont triés par rapport aux objets opaques. C'est parce que les objets opaques ne sont pas triés, alors que les objets transparents sont triés de l'arrière vers l'avant (et suivant leur priorité).


bool shaded = false 🔗

Si true, la Light3D dans l'Environment a un effet sur le sprite.


TextureFilter texture_filter = 3 🔗

Drapeaux de filtrage pour la texture.

Note : Le filtrage linéaire peut provoquer des artéfacts autour des bords, qui sont particulièrement visibles sur les textures opaques. Pour éviter cela, utilisez des textures avec des couleurs transparentes ou identiques autour des bords.


bool transparent = true 🔗

Si true, la transparence et l'opacité des textures sont utilisées pour rendre invisibles ces parties du sprite.


Descriptions des méthodes

TriangleMesh generate_triangle_mesh() const 🔗

Renvoie un TriangleMesh avec les sommets du sprite suivant sa configuration actuelle (comme axis et pixel_size).


bool get_draw_flag(flag: DrawFlags) const 🔗

Renvoie la valeur de l'option donnée.


Rect2 get_item_rect() const 🔗

Renvoie le rectangle représentant ce sprite.


void set_draw_flag(flag: DrawFlags, enabled: bool) 🔗

Si true, le drapeau spécifié sera activé.