Префаб на передний план

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Префаб на передний план

Сообщение krauser0993 19 апр 2019, 16:33

Всем привет.
Подскажите, пожалуйста, как префаб, который находится в Project/Prefabs переместить на передний план в игровой сцене.
На самой сцене его нет, создается через Instantiate.

Canvas недоступен, Layer менял на UI не помогает

Изображение
krauser0993
UNITрон
 
Сообщения: 342
Зарегистрирован: 05 апр 2019, 15:17

Re: Префаб на передний план

Сообщение 1max1 19 апр 2019, 18:41

Отображение в канвасе идет по иерархии, самый нижний (последний) в иерархии будет перекрывать остальные:
Синтаксис:
Используется csharp
transform.SetAsLastSibling();
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Префаб на передний план

Сообщение krauser0993 20 апр 2019, 03:03

1max1 писал(а):Отображение в канвасе идет по иерархии, самый нижний (последний) в иерархии будет перекрывать остальные:
Синтаксис:
Используется csharp
transform.SetAsLastSibling();


не работает :(

Синтаксис:
Используется csharp
 public class FlyDamageText : MonoBehaviour
    {
        public TextMeshProUGUI Text;
        public RectTransform Self;

        public void Start()
        {
            Text.transform.SetAsLastSibling();
        }
krauser0993
UNITрон
 
Сообщения: 342
Зарегистрирован: 05 апр 2019, 15:17

Re: Префаб на передний план

Сообщение 1max1 20 апр 2019, 03:15

Хм...

Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Префаб на передний план

Сообщение krauser0993 20 апр 2019, 13:43

Изображение

На скрине указал префаб, который создается и противника который перекрывает текст.
Менял по-разному местами, поверх противника никак не получается. :(
krauser0993
UNITрон
 
Сообщения: 342
Зарегистрирован: 05 апр 2019, 15:17

Re: Префаб на передний план

Сообщение 1max1 20 апр 2019, 13:57

Дак он же не под канвасом. И что такое лайфбар? Это спрайт? Если да, то такое смешивание я не знаю как упорядочить. Попробуй координату Z у текста подкрутить ближе к камере :-?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Префаб на передний план

Сообщение krauser0993 21 апр 2019, 07:59

1max1 писал(а):Дак он же не под канвасом. И что такое лайфбар? Это спрайт? Если да, то такое смешивание я не знаю как упорядочить. Попробуй координату Z у текста подкрутить ближе к камере :-?


Lifebar оказывается и есть Canvas) Стоял в режиме World Space поменял на Overlay - перекрывает, но теперь проблема в другом.
Текст создается только в центре экрана, я так понял, потому что нет значений RectTransform у Canvas.

скрипт префаба
var fly = Instantiate(FlyDamageTextPrefab, LifeBar.parent);

LifeBar.parent - это дочерний объект канваса у которого есть RectTransform(на скрине "Bar")
krauser0993
UNITрон
 
Сообщения: 342
Зарегистрирован: 05 апр 2019, 15:17

Re: Префаб на передний план

Сообщение 1max1 21 апр 2019, 11:33

Зачем тебе куча канвасов? Сделай 1 для всех своих баров.
я так понял, потому что нет значений RectTransform у Canvas

canvas.transform, но это не поможет в оверлее.
Если у тебя там вложенные канвасы, то я знаю как определить правильно положение текста. Попробуй метод:
life.position = Camera.main.WorldToScreenPoint(skelet.position + offset);
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Префаб на передний план

Сообщение krauser0993 22 апр 2019, 14:40

Долго мучался, оказывается на префабе был прикреплен скрипт, в котором значение Order in Layer было 200, поэтому этот префаб все перекрывал.
Спасибо за ответы :)
krauser0993
UNITрон
 
Сообщения: 342
Зарегистрирован: 05 апр 2019, 15:17


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 17