Можно ли сделать так,чтобы спрайт отображался поверх объекта либо исчезал со сцены на время их пересечения?

224
04 июня 2018, 06:20

Проблема состоит в том,что healthBar это UI объект (слайдер) и он перекрывает спрайт летящего самолета.

Можно ли сделать так,чтобы спрайт отображался поверх healthBar'a либо исчезал со сцены на время их пересечения?

Был бы благодарен за наводку на способ отображения healthBar'a через спрайт без использования UI :)

Answer 1

Если вы посмотрите на компонент SpriteRenderer то увидите там такие поля как Sorting Layer и Order In Layer. Первое отвечает за слой отрисовки, второе - за порядок внутри слоя.

Такие же поля вы можете найти на компоненте Canvas, который используется в UI. Меняя значения в этих полях вы можете настроить что и над чем будет располагаться (то, что рисуется позже - будет перекрывать то, что нарисовалось раньше).

Если потребуется, чтобы весь интерфейс был на одном слое, а некоторые его элементы на другом - можно добавлять дополнительные Canvas внутри вашего UI, ставить у них флаг override sorting и выставлять нужные значения.

Не забывайте добавлять к новым Canvas компонент Graphic Raycaster, если вам требуется, чтобы компоненты UI внутри этого Canvas были кликабельны.

Либо можете ваш healthBar сделать с помощью SpriteRenderer, а не UI)

READ ALSO
Как в c# выбрать нужные ячейки из Excel?

Как в c# выбрать нужные ячейки из Excel?

В общем, есть документ excel в котором есть 2 нужных столбцаСтолбцы с данными от J7 до n и от K7 до n

173
C# многопоточость

C# многопоточость

Пишу самый обычный чат з помощью SocketТакой вопрос: на каждого пользователя, который подключился стоит выделять отдельный поток или все делать...

210
Azure Service Bus

Azure Service Bus

Есть ли возможность удалить сообщение из Azure Service Bus Topic по его идентификатору?

180
Как сделать выборку по двум связанным таблицам?

Как сделать выборку по двум связанным таблицам?

Надо добавить first_name, last_name, department_id, department_name

231