[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".