Привет всем!
Нужно пересчитать позицию и вращения картинки для режима ScreenSpace-Overlay так, будто UI-элемент находится в WorldSpace.
В режиме ScreenSpace-Camera все работает как надо, удалось сделать чтобы все работало.
Но нужно чтобы пост-эффекты не применялись к UI. Еще есть баг, которому скоро исполнится 10 лет: ссылка на баг.
Если даже сделать cavas.parent=null, то все равно есть jitter / choppy pixels.
Все это вынуждает перенести UI в ScreenSpace-Overlay.
Позицию пересчитываю так:
RectTransformUtility.WorldToScreenPoint(сamera, point);
и с позицией в ScreenSpace-Overlay вроде проблем нет.
А вот вращение, как оказалось, работает так, будто содержимое канваса в режиме ортограифческой камеры.
То есть если даже и задаю верное вращение UI-элементу, то это не помогает. Пример:
Как можно сделать так, чтобы UI-элемент не проецировался ортографической камерой?
Я не совсем понимаю где происходит проецирование и возможно ли что-то изменить. Непонятно в каком направлении копать.
Здесь есть подобный вопрос, но проблему так и не решили:
link1
link2
Alerr
> Но нужно чтобы пост-эффекты не применялись к UI. Еще есть баг, которому скоро
> исполнится 10 лет: ссылка на баг.
Сильно глубоко не вникал, но ты пробовал двигать элемент интерфейса как тебе надо в LateUpdate ?
meekobold
> Сильно глубоко не вникал, но ты пробовал двигать элемент интерфейса как тебе надо в LateUpdate ?
Да, и в инспекторе двигал.
Проблема в том, что в Overlay-режиме все ui-элементы проецируются без учета перспективы (ортографически). На скрине видно:
сврху как должно быть, снизу - как сейчас это выглядит в игре
в общем
If you are using Canvas then you can change Render Mode from Screen Space-Overlay to Screen Space-Camera and dragging your Camera with the Post-Processing Effects to Render Camera and then all effect should be visible on the UI too
не делайте так и будут под эффектами только те UI что нужны.
Также такого можно добиться двумя камерами. Одна будет ренедрить спец.эффекты, другая UI (вот ПОД неё накладываем изображение с 1 камеры).
Две камеры - это очень частый случай в играх, всякие миникарты, разделение UI на замыливанные и не замыленные и прочие штуковины. Главное чтобы они не рисовали одно и то же (выставляется через слои)
Salamandr
Наданеый момент сделано 2 канваса, да.
Но хотелось бы вынести все в 1 канвас :/