Привязка пользовательского интерфейса спрайта в Unity? - PullRequest
0 голосов
/ 25 февраля 2020

ИЗОБРАЖЕНИЕ

Есть ли способ привязки вершины спрайта пользовательского интерфейса? Удерживание "V" в этом случае не работает.

1 Ответ

2 голосов
/ 26 февраля 2020

Проверка документации 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. это позволяет вам включать привязку в вашей сцене и очень полезно для выравнивания игровых объектов; это также позволяет изменять величину привязки.

Найдите ее, перейдя в Окно -> Диспетчер пакетов . Обратите внимание, что вам может потребоваться включить предварительный просмотр пакетов , чтобы найти его.

...