Study/Unity

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

레이지독 2021. 2. 16. 00:39

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패널에 넣어준다.

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

 

편 - 안