Проверка документации Unity - хорошее начало, когда вы столкнетесь с проблемой. Я проверил документацию, которую можно найти здесь: Изменение вершин спрайтов с помощью скрипта .
Читая документацию, вы можете получить вершины спрайтов с помощью массива Vector2.
//Fetch the Sprite and vertices from the SpriteRenderer
Sprite sprite = m_SpriteRenderer.sprite;
Vector2[] spriteVertices = sprite.vertices;
Вы можете рисовать, используя вершины, следуя этому и просматривая их в виде сцены
// Show the sprite triangles
void DrawDebug()
{
Sprite sprite = m_SpriteRenderer.sprite;
ushort[] triangles = sprite.triangles;
Vector2[] vertices = sprite.vertices;
int a, b, c;
// draw the triangles using grabbed vertices
for (int i = 0; i < triangles.Length; i = i + 3)
{
a = triangles[i];
b = triangles[i + 1];
c = triangles[i + 2];
//To see these you must view the game in the Scene tab while in Play mode
Debug.DrawLine(vertices[a], vertices[b], Color.red, 100.0f);
Debug.DrawLine(vertices[b], vertices[c], Color.red, 100.0f);
Debug.DrawLine(vertices[c], vertices[a], Color.red, 100.0f);
}
}
Однако объединение вершин с помощью сценариев кажется чрезмерно сложным в зависимости от того, для чего они предназначены. Учитывая это, было бы полезно узнать, почему вы хотите это сделать? Если эти спрайты статичны c и не перемещаются или используются только в течение короткого периода, может быть намного проще вручную выровнять их в представлении «Сцена».
Другим способом может быть использование ProGrid, который представляет собой пакет Unity. это позволяет вам включать привязку в вашей сцене и очень полезно для выравнивания игровых объектов; это также позволяет изменять величину привязки.
Найдите ее, перейдя в Окно -> Диспетчер пакетов . Обратите внимание, что вам может потребоваться включить предварительный просмотр пакетов , чтобы найти его.