Отрисовка uGUI элементов игнорирует ось Z

Графический интерфейс пользователя

Отрисовка uGUI элементов игнорирует ось Z

Сообщение xiety 13 янв 2015, 12:42

Возникла необходимость временно двигать одну из кнопок, но так, чтобы она всегда была полностью видима поверх остальных элементов UI (например для drag-n-drop). Изменение положения по оси Z никак не влияет на то, что кнопки, находящиеся сзади, всё равно перекрывают её (части кнопок находящихся сзади отрисовываются прямо на кнопке, которая впереди). Почему так происходит (это специальная фича?) и что можно с этим сделать?

(Элементы находятся в различной иерархии с привязкой к размеру родителей, по этому передвинуть кнопку выше в иерархии нет возможности. Попытка создать для каждого элемента свой канвас, привела к жутким багам на андроиде)
xiety
UNец
 
Сообщения: 3
Зарегистрирован: 11 янв 2013, 00:13

Re: Отрисовка uGUI элементов игнорирует ось Z

Сообщение Ert Donuell 13 янв 2015, 19:10

Синтаксис:
Используется csharp
buttonGO.GetComponent<Transform>().SetAsLastSibling();
 


Чтобы вывести поверх всего-всего, я использую такую функцию:
Синтаксис:
Используется csharp
public void SetOnTop(Transform transform)
{
    var currecntTransform = transform;
    do
    {
        currecntTransform.SetAsLastSibling();
        currecntTransform = currecntTransform.parent;
    }
    while (currecntTransform != null);
}
 


Так объекты гуя сортируются в иерархии, не меняя своих родителей.
Добавить dmitrii.baranov.yumasoft в Skype
Аватара пользователя
Ert Donuell
Старожил
 
Сообщения: 781
Зарегистрирован: 05 июл 2010, 09:50
Откуда: Санкт-Петербург
  • ICQ

Re: Отрисовка uGUI элементов игнорирует ось Z

Сообщение xiety 21 янв 2015, 13:55

Спасибо. К сожалению метод setOnTop мне не подходит, он переместит слишком много объектов наверх, а мне нужно, чтобы некоторые из них оставались внизу. Я понимаю, что это невозможно просто сделать с помощьюизменения порядка в иерархии. Но для чего вообще реализовано это перекрытие? Ведь когда смотришь на кнопки сбоку в 3d, довольно глупо выглядит, что находящаяся сзади кнопка "перекрывает" изображение на передней кнопке.
xiety
UNец
 
Сообщения: 3
Зарегистрирован: 11 янв 2013, 00:13


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2