[Doc Unity](https://docs.unity3d.com/2021.3/Documentation/Manual/class-Canvas.html) ![[Pasted image 20231008081148.png]] Параметры компонента Canvas: 1. Pixel Perfect: Отключает сглаживание пикселей. может быть полезно для 2D-графики с низким разрешением. Однако, нагружает систему 2. Target Display: Позволяет выбрать на каком экране отображать канвас??? 3. Additional Shader Channels: В этом поле можно выбрать дополнительные каналы шейдера, которые будут передаваться в материалы дочерних элементов канвы. Обычно это используется для передачи дополнительной информации, такой как цвет вершин, текстурные координаты и т. д. ### Sorting Layer / Order in Layer **Sorting Layer** - это функция в Unity, позволяющая разделить объекты сцены на разные слои сортировки. Это особенно полезно для определения порядка отображения объектов, таких как спрайты 2D или элементы пользовательского интерфейса. С помощью **Sorting Layer** вы можете контролировать, какие объекты будут отрисовываться поверх других. Объекты, находящиеся на слое с более высоким приоритетом, будут отображаться поверх объектов на слое с более низким приоритетом. Приоритет определяется порядком слоев сортировки в окне **Sorting Layers** (Edit > Project Settings > Graphics > Sorting Layers). На практике это означает, что, например, вы можете разместить фоновые объекты на одном слое сортировки, игровые объекты на другом, а пользовательский интерфейс на третьем. В результате пользовательский интерфейс всегда будет отображаться поверх игровых объектов, а игровые объекты – поверх фона. Также стоит отметить, что внутри одного слоя сортировки вы можете контролировать порядок отображения объектов с помощью параметра **Order in Layer**. Объекты с более высоким значением **Order in Layer** будут отображаться поверх объектов с более низким значением. На [видео](https://youtu.be/OkckRXTn2_I?t=85) наглядно показано как работает параметр **Order in Layer**. ### Render Mode Поле Render Mode в компоненте Canvas определяет, каким образом канва будет рендерить свои дочерние UI-элементы. В документации Unity также подробно (с картинками) рассказано про Render Mode. В Unity существует три варианта Render Mode для Canvas: **Screen Space - Overlay** В этом режиме канва отображается поверх всех других объектов сцены, и ее размеры совпадают с размерами экрана. UI-элементы рендерятся непосредственно на экран без использования камеры. Этот режим является наиболее простым и быстрым, но не поддерживает взаимодействие с 3D-объектами и эффекты, основанные на глубине. **Screen Space - Camera** Важно Если не заполнить параметр Render Camera, то вместо данного режима будет действовать режим Screen Space - Overlay В этом режиме канва рендерится на плоскости, которая является дочерним объектом заданной камеры. Размеры канвы будут зависеть от настроек камеры, таких как размер области видимости и расстояния отсечения. Это позволяет создавать более сложные эффекты, такие как взаимодействие с 3D-объектами или использование шейдеров для UI-элементов. Вам потребуется указать камеру, которая будет рендерить канву, в поле "Render Camera" компонента Canvas. **World Space** В этом режиме канва рендерится как обычный 3D-объект в мировом пространстве. UI-элементы будут отображаться в мире вместе с другими игровыми объектами. Этот режим подходит для создания интерактивных 3D-интерфейсов, таких как дисплеи, панели управления и других элементов, которые должны взаимодействовать с игровым миром. Вам потребуется указать камеру, которая будет рендерить канву, в поле "Render Camera" компонента Canvas, как и в режиме "Screen Space - Camera".