본문 바로가기

Study/Unity

유니티 UI 노치 대응 (Unity UI Notch Devices)

Package Manager에서 Advanced를 눌러 Show preview packages를 체크하고, Device Simulator를 설치한다.

 

 

Game 탭을 눌러 Simulator로 변경한다.

 

 

탈모 에디션의 참상

디바이스별 화면을 확인할 수 있다.

 

 

UI 테스트를 위해 이미지를 만들어 화면의 사이드에 배치한다.

(* 반드시 Anchor와 Stretch를 설정해야 적용된다.)

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SafeArea : MonoBehaviour
{
    RectTransform rectTransform;
    Rect safeArea;
    Vector2 minAnchor;
    Vector2 maxAnchor;
    
    private void Awake()
    {
        rectTransform = GetComponent<RectTransform>();
        safeArea = Screen.safeArea;
        minAnchor = safeArea.position;
        maxAnchor = minAnchor + safeArea.size;

        minAnchor.x /= Screen.width;
        minAnchor.y /= Screen.height;
        maxAnchor.x /= Screen.width;
        maxAnchor.y /= Screen.height;

        rectTransform.anchorMin = minAnchor;
        rectTransform.anchorMax = maxAnchor;
    }
}

SafeArea라는 스크립트를 생성해 코드를 작성한다.

 

 

Safe Area라는 빈 패널을 생성하고, 스트래치를 적용한다. 그리고 작성한 SafeArea 스크립트를 넣어준다.

 

 

이전에 만들어 놓은 사각형 이미지들을 전부 SafeArea패널에 넣어준다.

이제 에디터의 플레이 버튼을 눌러주면...

 

편 - 안