Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

Screen.safeArea

Declaration

public static Rect safeArea;

Описание

Возвращает безопасную область экрана в пикселях (только для чтения).

На некоторых дисплеях отдельные области экрана могут быть не видны пользователю. Причиной может быть непрямоугольная форма дисплея, а у телевизоров — оверскан. Не размещайте элементы интерфейса за пределами прямоугольника безопасной области. Максимальный размер безопасной области равен разрешению экрана в пикселях и задаётся как Rect(0, 0, Screen.width, Screen.height).

Примечание: Screen.safeArea определяется относительно окна Unity Player, а не экрана физического устройства. Если PlayerSettings.Android.renderOutsideSafeArea если отключено, Unity автоматически изменяет размер окна проигрывателя, чтобы оно вписывалось в безопасную зону устройства. Rect обычно равен Rect(0, 0, Screen.width, Screen.height), потому что окно проигрывателя больше не содержит никаких опасных областей.

Примечание: Происхождение безопасной зоны находится в нижнем левом углу экрана. Поэтому, если вы собираетесь использовать Screen.safeArea или Screen.cutouts с системой UI, такой как UI Toolkit (где origin находится в верхнем левом углу), вы должны перевернуть координаты. Следующий фрагмент кода показывает, как это сделать:

var safeAreaForUIToolkit = new Rect(Screen.safeArea.x, Screen.height - Screen.safeArea.y, Screen.safeArea.width, Screen.safeArea.height);

На следующем изображении показано, как безопасная зона и вырезки появляются на Google Pixel 7 Pro (API 35) в портретном и горизонтальном режимах. Зеленая зона — безопасная зона, а красная зона — вырезка.



Безопасная зона и вырезки на Google Pixel 7 Pro (API 35) в портретном и пейзажном режимах