reckfellENGINE

Polygon2D

Рисует многоугольник с цветом, текстурой и необязательной деформацией костями.

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

Polygon2D хранит вершины в локальных координатах. UV задаётся в пикселях текстуры. Для составной сетки Polygons содержит индексы её частей; внутренние вершины отмечаются InternalVertexCount.

Для деформации назначьте Skeleton и добавьте веса через AddBone(). Путь к скелету отсчитывается от полигона, путь к кости — от скелета. На вершину используются четыре наибольших веса с нормализацией. Отрисованная деформация не перезаписывает массив Polygon.

Практический пример.

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

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

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

Свойства16

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

Если true, края полигонов будут сглажены.

BonesСвойство
# Bones
C#
public Reckfell.Collections.Array Bones { get; set; }
ColorСвойство
# Color
C#
public Color Color { get; set; }

Цвет заливки полигона. Если задано Polygon2D.Texture, оно будет умножено на этот цвет. Это также будет цвет по умолчанию для вершин, не заданных в Polygon2D.VertexColors.

InternalVertexCountСвойство
# InternalVertexCount
C#
public int InternalVertexCount { get; set; }

Количество внутренних вершин, используемых для UV-развертки.

InvertBorderСвойство
# InvertBorder
C#
public float InvertBorder { get; set; }

Добавлен отступ, применяемый к ограничивающему прямоугольнику, когда Polygon2D.InvertEnabled установлен на true. Установка слишком маленького значения может привести к ошибке «Плохой многоугольник».

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

Если true, многоугольник будет инвертирован, включая область за пределами определенных точек и простираясь до Polygon2D.InvertBorder.

OffsetСвойство
# Offset
C#
public Vector2 Offset { get; set; }

Смещение, примененное к каждой вершине.

Многоугольник

PolygonСвойство
# Polygon
C#
public Vector2[] Polygon { get; set; }

Список вершин полигона. Конечная точка будет соединена с первой.

PolygonsСвойство
# Polygons
C#
public Reckfell.Collections.Array Polygons { get; set; }

Список полигонов, в случае если представлено более одного. Каждый отдельный полигон хранится как int[], где каждое Polygon2D.Polygon. Если пусто, это свойство будет проигнорировано, и полученный один полигон будет составлен из всех точек в Polygon2D.Polygon в том порядке, в котором они хранятся.

SkeletonСвойство
# Skeleton
C#
public EntityPath Skeleton { get; set; }

Путь к Skeleton2D относительно этого Polygon2D. Например, ../Skeleton для соседнего скелета. Пути костей в AddBone() отсчитываются уже от Skeleton2D. Для видимой деформации дополнительно нужны веса вершин.

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

Текстура заливки полигона. Используйте Polygon2D.UV для установки координат текстуры.

TextureOffsetСвойство
# TextureOffset
C#
public Vector2 TextureOffset { get; set; }

Величина смещения Polygon2D.Texture полигона. Если установлено значение Vector2(0, 0), начало координат текстуры (ее верхний левый угол) будет размещено в позиции полигона.

TextureRotationСвойство
# TextureRotation
C#
public float TextureRotation { get; set; }

Вращение текстуры в радианах.

TextureScaleСвойство
# TextureScale
C#
public Vector2 TextureScale { get; set; }

Величина для умножения координат Polygon2D.UV при использовании Polygon2D.Texture. Большие значения делают текстуру меньше, и наоборот.

UVСвойство
# UV
C#
public Vector2[] UV { get; set; }

Texture Координаты для каждой вершины многоугольника. Должно быть одно значение ультрафиолетового излучения на одну вершину многоугольника, если меньше, неопределенные вершины будут использоваться Vector2(0, 0).

VertexColorsСвойство
# VertexColors
C#
public Color[] VertexColors { get; set; }

Color Цвета интерполируются между вершинами, что приводит к плавным градиентам. В случае меньшего количества неопределенных вершин должен быть один на многоугольник. Polygon2D.Color.

Методы43

AddBone2 перегрузки
# AddBone · 1/2
C#
public void AddBone(EntityPath path, ReadOnlySpan<float> weights);

Добавляет запись весов кости. path задаётся относительно назначенного Skeleton2D; weights содержит по одному неотрицательному весу на вершину Polygon, включая внутренние вершины. Несовпадающая длина массива или отсутствующая кость исключает запись из отрисовки. На вершину выбираются четыре наибольших веса и нормализуются. При изменении уже видимого полигона вызовите QueueRedraw().

Параметры
ИмяТипПо умолчанию
pathEntityPath—
weightsReadOnlySpan<float>—
# AddBone · 2/2
C#
public void AddBone(EntityPath path, float[] weights);

Добавляет запись весов кости. path задаётся относительно назначенного Skeleton2D; weights содержит по одному неотрицательному весу на вершину Polygon, включая внутренние вершины. Несовпадающая длина массива или отсутствующая кость исключает запись из отрисовки. На вершину выбираются четыре наибольших веса и нормализуются. При изменении уже видимого полигона вызовите QueueRedraw().

Параметры
ИмяТипПо умолчанию
pathEntityPath—
weightsfloat[]—
ClearBonesvoid
# ClearBones
C#
public void ClearBones();

Удаляет все кости из этого Polygon2D.

EraseBonevoid
# EraseBone
C#
public void EraseBone(int index);

Удаляет указанную кость из этого Polygon2D.

Параметры
ИмяТипПо умолчанию
indexint—
GetAntialiasedbool
# GetAntialiased
C#
public bool GetAntialiased();
Возвращает bool
GetBoneCountint
# GetBoneCount
C#
public int GetBoneCount();

Возвращает количество костей в этом Polygon2D.

Возвращает int
GetBonePathEntityPath
# GetBonePath
C#
public EntityPath GetBonePath(int index);

Возвращает путь к узлу, связанному с указанной костью.

Параметры
ИмяТипПо умолчанию
indexint—
Возвращает EntityPath
GetBoneWeightsfloat[]
# GetBoneWeights
C#
public float[] GetBoneWeights(int index);

Возвращает значения веса указанной кости.

Параметры
ИмяТипПо умолчанию
indexint—
Возвращает float[]
GetColorColor
# GetColor
C#
public Color GetColor();
Возвращает Color
GetInternalVertexCountint
# GetInternalVertexCount
C#
public int GetInternalVertexCount();
Возвращает int
GetInvertBorderfloat
# GetInvertBorder
C#
public float GetInvertBorder();
Возвращает float
GetInvertEnabledbool
# GetInvertEnabled
C#
public bool GetInvertEnabled();
Возвращает bool
GetOffsetVector2
# GetOffset
C#
public Vector2 GetOffset();
Возвращает Vector2
GetPolygonVector2[]
# GetPolygon
C#
public Vector2[] GetPolygon();
Возвращает Vector2[]
GetPolygonsReckfell.Collections.Array
# GetPolygons
C#
public Reckfell.Collections.Array GetPolygons();
Возвращает Reckfell.Collections.Array
GetSkeletonEntityPath
# GetSkeleton
C#
public EntityPath GetSkeleton();
Возвращает EntityPath
GetTextureTexture2D
# GetTexture
C#
public Texture2D GetTexture();
Возвращает Texture2D
GetTextureOffsetVector2
# GetTextureOffset
C#
public Vector2 GetTextureOffset();
Возвращает Vector2
GetTextureRotationfloat
# GetTextureRotation
C#
public float GetTextureRotation();
Возвращает float
GetTextureScaleVector2
# GetTextureScale
C#
public Vector2 GetTextureScale();
Возвращает Vector2
GetUVVector2[]
# GetUV
C#
public Vector2[] GetUV();
Возвращает Vector2[]
GetVertexColorsColor[]
# GetVertexColors
C#
public Color[] GetVertexColors();
Возвращает Color[]
SetAntialiasedvoid
# SetAntialiased
C#
public void SetAntialiased(bool antialiased);
Параметры
ИмяТипПо умолчанию
antialiasedbool—
SetBonePathvoid
# SetBonePath
C#
public void SetBonePath(int index, EntityPath path);

Устанавливает путь к узлу, связанному с указанной костью.

Параметры
ИмяТипПо умолчанию
indexint—
pathEntityPath—
SetBoneWeights2 перегрузки
# SetBoneWeights · 1/2
C#
public void SetBoneWeights(int index, ReadOnlySpan<float> weights);

Устанавливает значения веса для указанной кости.

Параметры
ИмяТипПо умолчанию
indexint—
weightsReadOnlySpan<float>—
# SetBoneWeights · 2/2
C#
public void SetBoneWeights(int index, float[] weights);

Устанавливает значения веса для указанной кости.

Параметры
ИмяТипПо умолчанию
indexint—
weightsfloat[]—
SetColorvoid
# SetColor
C#
public void SetColor(Color color);
Параметры
ИмяТипПо умолчанию
colorColor—
SetInternalVertexCountvoid
# SetInternalVertexCount
C#
public void SetInternalVertexCount(int internalVertexCount);
Параметры
ИмяТипПо умолчанию
internalVertexCountint—
SetInvertBordervoid
# SetInvertBorder
C#
public void SetInvertBorder(float invertBorder);
Параметры
ИмяТипПо умолчанию
invertBorderfloat—
SetInvertEnabledvoid
# SetInvertEnabled
C#
public void SetInvertEnabled(bool invert);
Параметры
ИмяТипПо умолчанию
invertbool—
SetOffsetvoid
# SetOffset
C#
public void SetOffset(Vector2 offset);
Параметры
ИмяТипПо умолчанию
offsetVector2—
SetPolygon2 перегрузки
# SetPolygon · 1/2
C#
public void SetPolygon(Vector2[] polygon);
Параметры
ИмяТипПо умолчанию
polygonVector2[]—
# SetPolygon · 2/2
C#
public void SetPolygon(ReadOnlySpan<Vector2> polygon);
Параметры
ИмяТипПо умолчанию
polygonReadOnlySpan<Vector2>—
SetPolygonsvoid
# SetPolygons
C#
public void SetPolygons(Reckfell.Collections.Array polygons);
Параметры
ИмяТипПо умолчанию
polygonsReckfell.Collections.Array—
SetSkeletonvoid
# SetSkeleton
C#
public void SetSkeleton(EntityPath skeleton);
Параметры
ИмяТипПо умолчанию
skeletonEntityPath—
SetTexturevoid
# SetTexture
C#
public void SetTexture(Texture2D texture);
Параметры
ИмяТипПо умолчанию
textureTexture2D—
SetTextureOffsetvoid
# SetTextureOffset
C#
public void SetTextureOffset(Vector2 textureOffset);
Параметры
ИмяТипПо умолчанию
textureOffsetVector2—
SetTextureRotationvoid
# SetTextureRotation
C#
public void SetTextureRotation(float textureRotation);
Параметры
ИмяТипПо умолчанию
textureRotationfloat—
SetTextureScalevoid
# SetTextureScale
C#
public void SetTextureScale(Vector2 textureScale);
Параметры
ИмяТипПо умолчанию
textureScaleVector2—
SetUV2 перегрузки
# SetUV · 1/2
C#
public void SetUV(Vector2[] uV);
Параметры
ИмяТипПо умолчанию
uVVector2[]—
# SetUV · 2/2
C#
public void SetUV(ReadOnlySpan<Vector2> uV);
Параметры
ИмяТипПо умолчанию
uVReadOnlySpan<Vector2>—
SetVertexColors2 перегрузки
# SetVertexColors · 1/2
C#
public void SetVertexColors(Color[] vertexColors);
Параметры
ИмяТипПо умолчанию
vertexColorsColor[]—
# SetVertexColors · 2/2
C#
public void SetVertexColors(ReadOnlySpan<Color> vertexColors);
Параметры
ИмяТипПо умолчанию
vertexColorsReadOnlySpan<Color>—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

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

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

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