Sprite3D

Успадковує: SpriteBase3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

2D спрайт вузол в 3D світ.

Опис

Вузлом, який відображає текстуру 2D в середовищі 3D. Текстура відображається може бути регіоном з більшої текстури атласів, або кадром з анімації аркуша спрайта. Дивись також SpriteBase3D, в якому визначені властивості, такі як режим буфера.

Властивості

int

frame

0

Vector2i

frame_coords

Vector2i(0, 0)

int

hframes

1

bool

region_enabled

false

Rect2

region_rect

Rect2(0, 0, 0, 0)

Texture2D

texture

int

vframes

1


Сигнали

frame_changed() 🔗

Видається, коли змінюється frame.


texture_changed() 🔗

Виникає, коли змінюється texture.


Описи властивостей

int frame = 0 🔗

  • void set_frame(value: int)

  • int get_frame()

Поточний кадр для відображення з аркуша спрайтів. hframes або vframes має бути більше 1. Ця властивість автоматично налаштовується, коли hframes або vframes змінюються так, щоб вони постійно вказували на той самий візуальний кадр (той самий стовпець і рядок). Якщо це неможливо, це значення скидається до 0.


Vector2i frame_coords = Vector2i(0, 0) 🔗

Координати кадру для відображення зі спрайт-листа. Це псевдонім для властивості frame. hframes або vframes мають бути більшими 1.


int hframes = 1 🔗

  • void set_hframes(value: int)

  • int get_hframes()

Кількість стовпців у спрайтовому аркуші. Коли ця властивість змінюється, frame коригується таким чином, щоб зберегти той самий візуальний кадр (той самий рядок і стовпець). Якщо це неможливо, frame скидається до 0.


bool region_enabled = false 🔗

  • void set_region_enabled(value: bool)

  • bool is_region_enabled()

Якщо true, спрайт буде використовуватися region_rect і відображати лише вказану частину своєї текстури.


Rect2 region_rect = Rect2(0, 0, 0, 0) 🔗

  • void set_region_rect(value: Rect2)

  • Rect2 get_region_rect()

Область текстури атласу для відображення. region_enabled має бути true.


Texture2D texture 🔗

Об'єкт Texture2D для малювання. Якщо використовується GeometryInstance3D.material_override, це буде перевизначено. Інформація про розмір все ще використовується.


int vframes = 1 🔗

  • void set_vframes(value: int)

  • int get_vframes()

Кількість рядків у спрайтовому аркуші. Коли ця властивість змінюється, frame коригується таким чином, щоб зберегти той самий візуальний кадр (той самий рядок і стовпець). Якщо це неможливо, frame скидається до 0.