반응형
요즘 폰 상단에 카메라 구멍이 스마트폰 화면 안으로 들어오면서 카메라 구멍때문에 UI가 방해받는 경우가 발생합니다.
노치 영역을 고려하지 않고 UI를 만드는 경우 카메라 구멍이 중요한 버튼을 가리는 문제가 생길 수 있습니다.
구글의 애드몹에서는 앱의 상단에 배너광고를 삽입할 때 노치를 고려하여 일정간격을 자동으로 띄웁니다. 앱에서 노치를 고려하지 않고 UI를 만들경우 예상밖으로 배너광고가 화면 위에서 간격을 두고 떨어져 아래로 내려오기 때문에 더 많은 영역을 광고가 가리게 되고 이 때 UI를 광고가 침범하는 경우 애드몹에서 광고 송출을 제한하거나, 구글콘솔에서 앱을 정지시킬 수 있으니 주의해야 합니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SafeArea : MonoBehaviour {
private void Awake() {
RectTransform rt = GetComponent<RectTransform>();
Rect safeArea = Screen.safeArea;
Vector2 minAnchor = safeArea.position;
Vector2 maxAnchor = minAnchor + safeArea.size;
minAnchor.x /= Screen.width;
minAnchor.y /= Screen.height;
maxAnchor.x /= Screen.width;
maxAnchor.y /= Screen.height;
rt.anchorMin = minAnchor;
rt.anchorMax = maxAnchor;
}
}
유니티에서 제공하는 Screen.safeArea로 노치 영역의 크기를 쉽게 가져올 수 있습니다.
이를 이용해 화면의 크기를 변경하여 사용합니다.
유니티 매뉴얼 : https://docs.unity3d.com/ScriptReference/Screen-safeArea.html
반응형
'tips > 유니티 & 개발' 카테고리의 다른 글
유니티에서 플랫폼 구분하여 스크립트 (0) | 2022.06.30 |
---|---|
Xcode 설치 공간 부족 해결 및 빠른 다운로드 (0) | 2022.06.30 |
유니티에서 파이어베이스 SDK 초기화 및 애널리틱스 (0) | 2022.03.16 |
맥에 홈브류(Homebrew)로 adb 설치 (0) | 2022.03.15 |
유니티 페이스북 SDK. 디버그가 가능한 APK 또는 Android App Bundle을 업로드했습니다. (0) | 2022.03.07 |
댓글