Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

SpriteBase3D

Inherits: GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Inherited By: AnimatedSprite3D, Sprite3D

2D sprite node in 3D environment.

Description

A node that displays 2D texture information in a 3D environment. See also Sprite3D where many other properties are defined.

Properties

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

Vector3.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

Methods

TriangleMesh

generate_triangle_mesh ( ) const

bool

get_draw_flag ( DrawFlags flag ) const

Rect2

get_item_rect ( ) const

void

set_draw_flag ( DrawFlags flag, bool enabled )


Enumerations

enum DrawFlags:

DrawFlags FLAG_TRANSPARENT = 0

If set, the texture's transparency and the opacity are used to make those parts of the sprite invisible.

DrawFlags FLAG_SHADED = 1

If set, lights in the environment affect the sprite.

DrawFlags FLAG_DOUBLE_SIDED = 2

If set, texture can be seen from the back as well. If not, the texture is invisible when looking at it from behind.

DrawFlags FLAG_DISABLE_DEPTH_TEST = 3

Disables the depth test, so this object is drawn on top of all others. However, objects drawn after it in the draw order may cover it.

DrawFlags FLAG_FIXED_SIZE = 4

Label is scaled by depth so that it always appears the same size on screen.

DrawFlags FLAG_MAX = 5

Represents the size of the DrawFlags enum.


enum AlphaCutMode:

AlphaCutMode ALPHA_CUT_DISABLED = 0

This mode performs standard alpha blending. It can display translucent areas, but transparency sorting issues may be visible when multiple transparent materials are overlapping.

AlphaCutMode ALPHA_CUT_DISCARD = 1

This mode only allows fully transparent or fully opaque pixels. Harsh edges will be visible unless some form of screen-space antialiasing is enabled (see ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa). On the bright side, this mode doesn't suffer from transparency sorting issues when multiple transparent materials are overlapping. This mode is also known as alpha testing or 1-bit transparency.

AlphaCutMode ALPHA_CUT_OPAQUE_PREPASS = 2

This mode draws fully opaque pixels in the depth prepass. This is slower than ALPHA_CUT_DISABLED or ALPHA_CUT_DISCARD, but it allows displaying translucent areas and smooth edges while using proper sorting.

AlphaCutMode ALPHA_CUT_HASH = 3

This mode draws cuts off all values below a spatially-deterministic threshold, the rest will remain opaque.


Property Descriptions

float alpha_antialiasing_edge = 0.0

  • void set_alpha_antialiasing_edge ( float value )

  • float get_alpha_antialiasing_edge ( )

Threshold at which antialiasing will be applied on the alpha channel.


AlphaAntiAliasing alpha_antialiasing_mode = 0

The type of alpha antialiasing to apply. See AlphaAntiAliasing.


AlphaCutMode alpha_cut = 0

The alpha cutting mode to use for the sprite. See AlphaCutMode for possible values.


float alpha_hash_scale = 1.0

  • void set_alpha_hash_scale ( float value )

  • float get_alpha_hash_scale ( )

The hashing scale for Alpha Hash. Recommended values between 0 and 2.


float alpha_scissor_threshold = 0.5

  • void set_alpha_scissor_threshold ( float value )

  • float get_alpha_scissor_threshold ( )

Threshold at which the alpha scissor will discard values.


Vector3.Axis axis = 2

  • void set_axis ( Vector3.Axis value )

  • Vector3.Axis get_axis ( )

The direction in which the front of the texture faces.


BillboardMode billboard = 0

The billboard mode to use for the sprite. See BillboardMode for possible values.


bool centered = true

  • void set_centered ( bool value )

  • bool is_centered ( )

If true, texture will be centered.


bool double_sided = true

If true, texture can be seen from the back as well, if false, it is invisible when looking at it from behind.


bool fixed_size = false

If true, the label is rendered at the same size regardless of distance.


bool flip_h = false

  • void set_flip_h ( bool value )

  • bool is_flipped_h ( )

If true, texture is flipped horizontally.


bool flip_v = false

  • void set_flip_v ( bool value )

  • bool is_flipped_v ( )

If true, texture is flipped vertically.


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

  • void set_modulate ( Color value )

  • Color get_modulate ( )

A color value used to multiply the texture's colors. Can be used for mood-coloring or to simulate the color of light.

Note: If a GeometryInstance3D.material_override is defined on the SpriteBase3D, the material override must be configured to take vertex colors into account for albedo. Otherwise, the color defined in modulate will be ignored. For a BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's