MeshTexture
Texture2D для рисования меша в Canvas; без собственного RID изображения.
MeshTexture передаёт меш и BaseTexture в canvas_item_add_mesh. Это способ рисования 2D-геометрии, а не запекание меша в изображение и не рендер 3D-модели камерой. Для отрисовки нужны оба ресурса: Mesh с подходящими 2D-вершинами/UV и BaseTexture. При отсутствии любого из них draw ничего не делает.
ImageSize — логический размер геометрии для расчёта масштаба DrawRect. Он не берётся из BaseTexture и не меняет UV или данные меша. Хотя C# API принимает Vector2, нативное хранилище Size2i отбрасывает дробную часть. Задавайте положительные ненулевые целые стороны: прямоугольное рисование делит размер назначения на ImageSize.
GetRid возвращает пустой RID: этот объект нельзя считать обычной GPU-текстурой для материала или shader sampler. DrawRect не использует tile; DrawRectRegion игнорирует исходный прямоугольник и clipUv и рисует весь меш. HasAlpha всегда false, IsPixelOpaque всегда true — это заглушки запроса, не проверка прозрачности BaseTexture или треугольников. Для проверки попадания используйте отдельную геометрию/маску.
GetMesh и GetBaseTexture возвращают общие ресурсы, не копии. Не освобождайте полученные алиасы, пока они используются владельцем. Изменения свойств и дочерних ресурсов не испускают Changed автоматически; при необходимости уведомите свою зависимую систему после законченной операции. Собственный MeshTexture освобождайте через Dispose.
В общем наборе 23 Windows headless-проверки состояния подтверждают ссылки, значения, целочисленный размер и отсутствие автоматического Changed. Реальное рисование, UV, альфа-смешивание и качество изображения не проверялись; ограничения draw сверены по исходникам.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
MeshTextureКонструктор
public MeshTexture();Создаёт собственный Texture2D-ресурс без Mesh/BaseTexture с ImageSize=(0, 0). До рисования задайте геометрию, базовую текстуру и положительный логический размер.
Свойства3
BaseTextureСвойство
public Texture2D BaseTexture { get; set; }Общая текстура для UV меша. Не источник автоматического ImageSize и не копия. null отключает рисование; setter не испускает Changed и не подключает пересылку изменений дочернего ресурса.
ImageSizeСвойство
public Vector2 ImageSize { get; set; }Логический размер для масштаба прямоугольного рисования; не размер BaseTexture. Внутри хранится Size2i: дробная часть Vector2 отбрасывается. Используйте положительные ненулевые целые стороны; setter не валидирует их и не испускает Changed.
MeshСвойство
public Mesh Mesh { get; set; }Общий меш с подходящими 2D-вершинами и UV для рисования на Canvas. Setter только сохраняет ссылку, не проверяет геометрию и не испускает Changed. null отключает рисование.
Методы6
GetBaseTextureTexture2D
public Texture2D GetBaseTexture();Возвращает значение BaseTexture. Общая текстура для UV меша. Не источник автоматического ImageSize и не копия. null отключает рисование; setter не испускает Changed и не подключает пересылку изменений дочернего ресурса.
Texture2DОбщий ресурс либо null; не независимая копия.
GetImageSizeVector2
public Vector2 GetImageSize();Возвращает значение ImageSize. Логический размер для масштаба прямоугольного рисования; не размер BaseTexture. Внутри хранится Size2i: дробная часть Vector2 отбрасывается. Используйте положительные ненулевые целые стороны; setter не валидирует их и не испускает Changed.
Vector2Логический целочисленный размер, представленный Vector2.
GetMeshMesh
public Mesh GetMesh();Возвращает значение Mesh. Общий меш с подходящими 2D-вершинами и UV для рисования на Canvas. Setter только сохраняет ссылку, не проверяет геометрию и не испускает Changed. null отключает рисование.
MeshОбщий ресурс либо null; не независимая копия.
SetBaseTexturevoid
public void SetBaseTexture(Texture2D texture);Устанавливает BaseTexture. Общая текстура для UV меша. Не источник автоматического ImageSize и не копия. null отключает рисование; setter не испускает Changed и не подключает пересылку изменений дочернего ресурса.
| Имя | Тип | По умолчанию |
|---|---|---|
texture | Texture2D | — |
textureОбщая Texture2D для UV меша либо null, отключающий draw.
SetImageSizevoid
public void SetImageSize(Vector2 size);Устанавливает ImageSize. Логический размер для масштаба прямоугольного рисования; не размер BaseTexture. Внутри хранится Size2i: дробная часть Vector2 отбрасывается. Используйте положительные ненулевые целые стороны; setter не валидирует их и не испускает Changed.
| Имя | Тип | По умолчанию |
|---|---|---|
size | Vector2 | — |
sizeПоложительный ненулевой логический размер; дробная часть будет отброшена.
SetMeshvoid
public void SetMesh(Mesh mesh);Устанавливает Mesh. Общий меш с подходящими 2D-вершинами и UV для рисования на Canvas. Setter только сохраняет ссылку, не проверяет геометрию и не испускает Changed. null отключает рисование.
| Имя | Тип | По умолчанию |
|---|---|---|
mesh | Mesh | — |
meshМеш с 2D-вершинами/UV либо null для отключения draw; setter геометрию не проверяет.