«Масштабирование» орфографической камеры, когда некоторые спрайты перемещаются относительно - PullRequest
0 голосов
/ 28 июня 2018

У меня простая среда, пользователь может рисовать такие объекты, как прямоугольники, треугольники и круги. Среда выглядит следующим образом:

enter image description here

И с несколькими нарисованными объектами:

enter image description here

Кнопки в левом нижнем углу - это просто спрайты дочерних элементов камеры с анимацией, запускаемой при нажатии.

Существует два инструмента масштабирования для увеличения и уменьшения масштаба, которые работают со следующим кодом:

public void OnPointerClick(PointerEventData EventData)
{
    if(CurrentTool == "ZoomIn Button")
    {
        TheCamera.orthographicSize -= 1f;
    }
    else if (CurrentTool == "ZoomOut Button")
    {
        TheCamera.orthographicSize += 1f;
    }
}

Но это заставляет кнопки двигаться так:

enter image description here

enter image description here

Можно ли как-нибудь заставить кнопки перемещаться вместе с камерой, чтобы они всегда были в одном месте с пользователем, не меняя полностью систему кнопок?

1 Ответ

0 голосов
/ 28 июня 2018

Вы должны использовать Unity UI Canvas для этого вместо того, чтобы привязывать свои спрайты к камере. Это немного сложнее, чем вы ожидали, но в Unity есть краткое руководство по , которое вы можете использовать, чтобы начать. Суть этого в том, чтобы добавить наложение холста к вашей сцене и добавить к нему свои кнопки. Наложенный холст всегда масштабируется до экрана, независимо от его размера или соотношения сторон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...