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

Eredita: GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Ereditato da: AnimatedSprite3D, Sprite3D

Nodo di sprite 2D nell'ambiente 3D.

Descrizione

Un nodo che visualizza informazioni di una texture 2D in un ambiente 3D. Vedi anche Sprite3D dove sono definite molte altre proprietà.

Proprietà

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

Metodi

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)


Enumerazioni

enum DrawFlags: 🔗

DrawFlags FLAG_TRANSPARENT = 0

Se è impostata, la trasparenza e l'opacità della texture sono utilizzate per rendere invisibili quelle parti dello sprite.

DrawFlags FLAG_SHADED = 1

Se impostato, le luci nell'ambiente influiscono sullo sprite.

DrawFlags FLAG_DOUBLE_SIDED = 2

Se impostato, la texture può essere vista anche dal retro. Altrimenti, la texture è invisibile se guardata da dietro.

DrawFlags FLAG_DISABLE_DEPTH_TEST = 3

Disattiva il test di profondità, quindi questo oggetto viene disegnato sopra tutti gli altri. Tuttavia, gli oggetti disegnati dopo di esso nell'ordine di disegno potrebbero coprirlo.

DrawFlags FLAG_FIXED_SIZE = 4

L'etichetta è ridimensionata in base alla profondità in modo che appaia sempre delle stesse dimensioni sullo schermo.

DrawFlags FLAG_MAX = 5

Rappresenta la dimensione dell'enumerazione DrawFlags.


enum AlphaCutMode: 🔗

AlphaCutMode ALPHA_CUT_DISABLED = 0

Questa modalità esegue la fusione alfa standard. Può visualizzare aree traslucide, ma potrebbero essere visibili problemi di ordinamento della trasparenza quando più materiali trasparenti si sovrappongono.

AlphaCutMode ALPHA_CUT_DISCARD = 1

Questa modalità consente solo pixel completamente trasparenti o completamente opachi. Saranno visibili bordi netti a meno che non sia abilitata una qualche forma di antialiasing di spazio dello schermo (vedi ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa). Questa modalità è anche nota come alpha testing o trasparenza a 1 bit.

AlphaCutMode ALPHA_CUT_OPAQUE_PREPASS = 2

Questa modalità disegna pixel completamente opachi nel pre-passaggio di profondità. È più lenta di ALPHA_CUT_DISABLED o ALPHA_CUT_DISCARD, ma consente di visualizzare aree traslucide e bordi lisci usando un ordinamento corretto.

AlphaCutMode ALPHA_CUT_HASH = 3

Questa modalità taglia tutti i valori al di sotto di una soglia spazialmente deterministica, il resto rimarrà opaco.


Descrizioni delle proprietà

float alpha_antialiasing_edge = 0.0 🔗

  • void set_alpha_antialiasing_edge(value: float)

  • float get_alpha_antialiasing_edge()

Soglia alla quale sarà applicato l'antialiasing sul canale alfa.


AlphaAntiAliasing alpha_antialiasing_mode = 0 🔗

Il tipo di antialiasing dell'alfa da applicare.


AlphaCutMode alpha_cut = 0 🔗

La modalità di ritaglio alfa da utilizzare per lo sprite.


float alpha_hash_scale = 1.0 🔗

  • void set_alpha_hash_scale(value: float)

  • float get_alpha_hash_scale()

La scala di hashing per l'Alpha Hash. Valori consigliati tra 0 e 2.


float alpha_scissor_threshold = 0.5 🔗

  • void set_alpha_scissor_threshold(value: float)

  • float get_alpha_scissor_threshold()

Soglia oltre la quale l'alpha scissor scarterà i valori.


Axis axis = 2 🔗

  • void set_axis(value: Axis)

  • Axis get_axis()

La direzione in cui è rivolta la faccia frontale della texture.


BillboardMode billboard = 0 🔗

La modalità billboard da usare per lo sprite.

Nota: Quando il billboarding è abilitato e il materiale proietta anche ombre, i billboard saranno rivolti verso la telecamera nella scena durante il rendering delle ombre. Nelle scene con più telecamere, non è possibile determinare l'ombra desiderata e ciò comporterà un comportamento indefinito. Vedi Richiesta di pull su GitHub #72638 per i dettagli.


bool centered = true 🔗

  • void set_centered(value: bool)

  • bool is_centered()

Se true, la texture sarà centrata.


bool double_sided = true 🔗

Se true, la texture è visibile anche dal retro, se false, è invisibile se guardata da dietro.


bool fixed_size = false 🔗

Se true, la texture viene renderizzata con le stesse dimensioni a prescindere dalla distanza. Le dimensioni della texture sullo schermo sono le stesse che avrebbe se la telecamera fosse a 1.0 unità di distanza dall'origine della texture, a prescindere dalla distanza effettiva dalla telecamera. Il campo visivo della Camera3D (o Camera3D.size in modalità ortogonale/tronco) influenza comunque le dimensioni della texture disegnata.


bool flip_h = false 🔗

  • void set_flip_h(value: bool)

  • bool is_flipped_h()

Se true, la texture è capovolta orizzontalmente.


bool flip_v = false 🔗

  • void set_flip_v(value: bool)

  • bool is_flipped_v()

Se true, la texture è capovolta verticalmente.


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

  • void set_modulate(value: Color)

  • Color get_modulate()

Un valore di colore usato per moltiplicare i colori della texture. Può essere usato per la colorazione dell'atmosfera o per simulare il colore della luce ambientale.

Nota: A differenza di CanvasItem.modulate per il 2D, i colori con valori superiori a 1.0 (sovra-luminosi) non sono supportati.

Nota: Se un GeometryInstance3D.material_override è definito sul SpriteBase3D, la sostituzione del materiale deve essere configurata per tenere conto dei colori dei vertici per l'albedo. Altrimenti, il colore definito in modulate sarà ignorato. Per un BaseMaterial3D, BaseMaterial3D.vertex_color_use_as_albedo deve essere true. Per uno ShaderMaterial, ALBEDO *= COLOR.rgb; deve essere inserito nella funzione fragment() dello shader.


bool no_depth_test = false 🔗

Se true, il test di profondità è disabilitato e l'oggetto sarà disegnato in ordine di rendering.


Vector2 offset = Vector2(0, 0) 🔗

L'offset di disegno della texture.

Nota: Quando si aumenta offset.y in Sprite3D, lo sprite si sposta verso l'alto nello spazio mondiale (ovvero +Y punta verso l'alto).


float pixel_size = 0.01 🔗

  • void set_pixel_size(value: float)

  • float get_pixel_size()

La dimensione della larghezza di un pixel sullo sprite per ridimensionarlo in 3D.


int render_priority = 0 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Imposta la priorità di rendering per lo sprite. Gli oggetti con priorità più alta saranno ordinati davanti agli oggetti con priorità più bassa.

Nota: Questo si applica solo se alpha_cut è impostato su ALPHA_CUT_DISABLED (valore predefinito).

Nota: Questo si applica solo all'ordinamento degli oggetti trasparenti. Ciò non avrà alcun impatto sul modo in cui gli oggetti trasparenti sono ordinati rispetto agli oggetti opachi. Questo perché gli oggetti opachi non sono ordinati, mentre gli oggetti trasparenti sono ordinati da dietro in avanti (in base alla priorità).


bool shaded = false 🔗

Se true, la Light3D nell'Environment influisce sullo sprite.


TextureFilter texture_filter = 3 🔗

Flag di filtro per la texture.

Nota: Il filtraggio lineare può causare artefatti attorno ai bordi, che sono particolarmente evidenti sulle texture opache. Per evitare ciò, usa texture con colori trasparenti o identici attorno ai bordi.


bool transparent = true 🔗

Se true, la trasparenza e l'opacità della texture sono utilizzate per rendere invisibili quelle parti dello sprite.


Descrizioni dei metodi

TriangleMesh generate_triangle_mesh() const 🔗

Restituisce un TriangleMesh con i vertici dello sprite che seguono la sua configurazione attuale (ad esempio, axis e pixel_size).


bool get_draw_flag(flag: DrawFlags) const 🔗

Restituisce il valore del flag specificato.


Rect2 get_item_rect() const 🔗

Restituisce il rettangolo che rappresenta questo sprite.


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

Se true, il flag specificato sarà abilitato.