Страница 1 из 1

Renderer Line отображается только в редкаторе

СообщениеДобавлено: 31 авг 2018, 11:42
DarkDeivel
Всем привет! Хочу сделать соединительную линию между UI элементами, не знаю каким макаром это реализовать, гугл чаще всего советует с помощью Renderer Line, решил попробовать, указал позиции запускаю проект, в редакторе отлично работает, в проекте линии вообще нет, в чем проблема? Всякие разные шейдеры перепробовал, но результата так и нет. Может кто-нибудь подскажет другой вариант соединения? Элементы можно передвигать, а потому линия должна всегда подстраиваться под новую позицию, делаю все через Canvas. Всем спасибо!

Скрытый текст:
Изображение

Изображение

Изображение

Re: Renderer Line отображается только в редкаторе

СообщениеДобавлено: 03 сен 2018, 17:11
DarkDeivel
Нет больше никаких вариантов соединить элементы линией?

Re: Renderer Line отображается только в редкаторе

СообщениеДобавлено: 03 сен 2018, 17:45
1max1
Нет больше никаких вариантов соединить элементы линией?

Обычным спрайтом

Re: Renderer Line отображается только в редкаторе

СообщениеДобавлено: 03 сен 2018, 17:46
Anonymyx
А в редакторе когда двигаете UI элементы линии тоже как надо перестраиваются? :-?

Re: Renderer Line отображается только в редкаторе

СообщениеДобавлено: 04 сен 2018, 08:02
DarkDeivel
Anonymyx писал(а):А в редакторе когда двигаете UI элементы линии тоже как надо перестраиваются? :-?


В редакторе всё идеально, если бы так было и в конечном виде я бы не ломал голову уже несколько дней.
Всякие изменения толщины линии или цвета на материале отлично работаю в окне редактора, но только не в игровом окне ~x(

Скрытый текст:
Вот я двигаю элементы непосредственно в "игре" как оно выглядит в окне редактора:
Изображение
И как оно выглядит в игровом окне:
Изображение


1max1 писал(а):Обычным спрайтом

Вот так не представляю как обычным спрайтом?

Re: Renderer Line отображается только в редкаторе

СообщениеДобавлено: 04 сен 2018, 08:06
1max1
Так, стоп, у тебя движение и отрисовка происходит чисто в редакторе, а не когда ты нажал кнопку run? Покажи скрипт отрисовки.

Re: Renderer Line отображается только в редкаторе

СообщениеДобавлено: 04 сен 2018, 08:11
DarkDeivel
1max1 писал(а):Так, стоп, у тебя движение и отрисовка происходит чисто в редакторе, а не когда ты нажал кнопку run? Покажи скрипт отрисовки.


Нет, вторая гиф это не в редакторе, а уже в конечном продукте после нажатия кнопки run, там как раз ничего не отрисовывается.
Кстати, если RUN не запустить то логично что как раз-таки в окне редакторе линии и не видно, так как проект не запущен.

Эти 2 гифки сделано во время одного процесса, т.е. я запустил RUN и двигаю в "игре", и как выглядит в редакторе, и одновременно в игре.

Изображение

Синтаксис:
Используется csharp
            testLine.GetComponent<LineRenderer>().SetPosition(0, responseContainer.GetChild(0).Find("knob").transform.position);
            testLine.GetComponent<LineRenderer>().SetPosition(1, responses[0].connectNode.GetComponent<NodeDialogue>().connector.transform.position);
 

Re: Renderer Line отображается только в редкаторе

СообщениеДобавлено: 04 сен 2018, 08:23
1max1
Очень странно, может у тебя камера не рендрит этот слой. Попробуй воссоздать этот глюк в чистом проекте и посмотри что именно не так.

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

Re: Renderer Line отображается только в редкаторе

СообщениеДобавлено: 04 сен 2018, 16:03
DarkDeivel
Мне удалось решить эту проблему! Чтобы Line Renderer правильно отображался, в настройках Canvas мне пришлось поставить Screen Space - Camera, указать рабочую камеру и настроить Plane Distance.

Теперь я получил результат что хотел :ymparty:

Изображение