@Semechka1290

Что делать если объект покрывает другой объект. но перемещение в 3D не помогает?

Прозрачная панель для паузы растянута по границам камере, но тайлы земли перекрывают его, при перемещении в 3D панель вперед тайлов не работает. 65479498ed1eb118964699.png
65479567b2e32591534434.png
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
В 2д лучше не меняйте position Z. Вместо этого используйте приоритет отрисовки. Представьте, что вы стоите в очереди на кассу в магазине. Все клиенты по очереди обсуживаются в том порядке, в котором пришли - вот тут аналогичная ситуация.
Вы используете совместно две системы - обычные спрайты (компонент UnityEngine.SpriteRenderer) и картинки интерфейса (компонент UnityEngine.UI.Image).

В настройках компонент SpriteRenderer вы можете заметить настройки "Sorting Layer" и "Sorting Order".
Первый обозначает очередь очереди. То есть чем меньше номер очереди, тем раньше она отрисуется. В нашем примере на кассе - это толпа пенсионеров, которых обычно пропускают вперёд по правилам многих магазинов.

В интерфейсе всё немного сложнее. Компонент Image рисуется внутри родительского Canvas - у него-то как раз вы и можете эти настройки отрисовки указать. А порядок отрисовки между разными Image уже определяется их порядком в иерархии - чем ближе к верхнему краю, тем раньше будет отрисован Image.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы