reckfellENGINE

AtlasTexture

Область общего атласа для 2D-рисования без копирования исходных пикселей.

На этой странице
class AtlasTextureReckfellSharpНаследует Texture2D

AtlasTexture выбирает Region из общей Atlas и добавляет логический Margin. Используйте несколько ресурсов для элементов одного спрайт-листа; исходное изображение остаётся общим. Для создания отдельной пиксельной текстуры получите вырезку через GetImage и создайте ImageTexture, если данные источника доступны. Сам AtlasTexture не выделяет GPU-копию области.

Region использует координаты текстуры. Margin.Position задаёт смещение содержимого, Margin.Size — добавку к логическому размеру, а GetImage не включает эти поля. Нулевые оси Region используют соответствующий размер источника. Для точной нарезки задавайте целые границы внутри атласа.

Повторение области не эквивалентно независимой тайловой текстуре: в текущем DrawRect флаг tile не создаёт повторяемую вырезку. Для тайлов используйте подходящий источник или отдельное изображение. FilterClip ограничивает выборку при рисовании, но не исправляет исходные mipmaps. В 3D нельзя полагаться на 2D-команды обрезки: RID указывает на общий источник.

Проверены вырезанные пиксели, размеры, margin, вложенность, передача параметров рисования и сохранение в Windows Forward+/Vulkan. Видимые швы, производительность упаковки, 3D-материалы и все варианты повторения не прошли визуальную приёмку в этом прогоне.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

AtlasTextureКонструктор
# AtlasTexture
C#
public AtlasTexture();

Создаёт AtlasTexture без источника: Atlas = null, Region и Margin нулевые, FilterClip = false. Без источника размер-заглушка 1×1, GetImage возвращает null. Назначьте Atlas до использования пикселей.

Свойства4

AtlasСвойство
# Atlas
C#
public Texture2D Atlas { get; set; }

Общий исходный Texture2D; по умолчанию null. Назначение не копирует пиксели и не создаёт отдельную GPU-текстуру для вырезанной области. GetRid возвращает RID источника. Вложенные AtlasTexture поддерживаются, но не создавайте ссылки на себя или циклы. Несколько областей могут использовать один источник.

FilterClipСвойство
# FilterClip
C#
public bool FilterClip { get; set; }

По умолчанию false. Передаёт ограничение выборки областью атласа при 2D-рисовании, помогая отделить соседние элементы при фильтрации. Это не изменение пикселей или генерация mipmap-отступов. В текущей реализации AtlasTexture использует это свойство и в DrawRectRegion, независимо от переданного clipUV. Визуальное качество краёв данным прогоном не проверено.

MarginСвойство
# Margin
C#
public Rect2 Margin { get; set; }

Дополнительный логический отступ, по умолчанию нулевой Rect2. Position сдвигает место рисования содержимого; Size добавляет общий размер холста к ненулевым осям Region. Это не четыре независимые толщины сторон. Например, Region 4×4 и Margin.Size 3×4 дают логический размер 7×8. GetImage возвращает вырезку без этих полей. Margin не изменяет пиксели источника и не создаёт защитные края для mipmaps.

RegionСвойство
# Region
C#
public Rect2 Region { get; set; }

Область в координатах исходной текстуры, не UV 0…1. По умолчанию Rect2 с нулевым размером: соответствующая ось берёт размер источника. Для ненулевой оси логический размер равен floor(Region.Size) плюс Margin.Size; при нулевой оси используется размер источника без добавки Margin.Size. Свойство сохраняет исходные дробные значения, но размеры внутренней области округляются вниз. Для предсказуемой нарезки используйте целочисленные границы внутри источника.

Методы8

GetAtlasTexture2D
# GetAtlas
C#
public Texture2D GetAtlas();

Возвращает AtlasTexture.Atlas.

Возвращает Texture2D

Текущее значение Atlas. Ссылка на текстуру общая, не копия; может быть null.

GetMarginRect2
# GetMargin
C#
public Rect2 GetMargin();

Возвращает AtlasTexture.Margin.

Возвращает Rect2

Текущее значение Margin.

GetRegionRect2
# GetRegion
C#
public Rect2 GetRegion();

Возвращает AtlasTexture.Region.

Возвращает Rect2

Текущее значение Region.

HasFilterClipbool
# HasFilterClip
C#
public bool HasFilterClip();

Возвращает AtlasTexture.FilterClip.

Возвращает bool

Текущее значение FilterClip.

SetAtlasvoid
# SetAtlas
C#
public void SetAtlas(Texture2D atlas);

Задаёт AtlasTexture.Atlas.

Параметры
ИмяТипПо умолчанию
atlasTexture2D—
atlas

Общий Texture2D или null; не создавайте ссылки на себя и циклы.

SetFilterClipvoid
# SetFilterClip
C#
public void SetFilterClip(bool enable);

Задаёт AtlasTexture.FilterClip.

Параметры
ИмяТипПо умолчанию
enablebool—
enable

Ограничивать выборку областью атласа при 2D-рисовании.

SetMarginvoid
# SetMargin
C#
public void SetMargin(Rect2 margin);

Задаёт AtlasTexture.Margin.

Параметры
ИмяТипПо умолчанию
marginRect2—
margin

Position — смещение содержимого; Size — добавка к логическому холсту, без изменения пикселей.

SetRegionvoid
# SetRegion
C#
public void SetRegion(Rect2 region);

Задаёт AtlasTexture.Region.

Параметры
ИмяТипПо умолчанию
regionRect2—
region

Область источника в координатах текстуры; нулевая ось использует размер источника.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.