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.