Unity UI 사용 가이드
Unity의 사용자 인터페이스(UI)를 다양한 해상도에서 적절히 조정하는 방법을 설명합니다. 최신 게임과 애플리케이션에서는 다양한 스크린 해상도를 지원해야 하며, UI 레이아웃이 이를 고려해야 합니다.
사례 연구: 버튼 레이아웃 조정
목표는 스크린의 각 코너에 배치된 세 개의 버튼을 다양한 해상도에 맞게 조정하는 것입니다. 사용되는 해상도는 다음과 같습니다:
해상도 종류 | 세로 해상도 (px) | 가로 해상도 (px) |
---|---|---|
Phone HD | 640 | 960 |
Phone SD | 320 | 480 |
앵커 사용하여 레이아웃 조정
UI 요소는 기본적으로 부모 사각형의 중심에 앵커되어 있습니다. 해상도가 가로 방향으로 변경될 때, 버튼이 스크린 내에서 사라지지 않도록 하려면 앵커를 활용해야 합니다.
앵커 설정 방법
- 인스펙터에서 Anchors Preset 드롭다운을 사용하거나 씬 뷰의 삼각형 앵커 핸들을 드래그하여 앵커를 설정합니다.
- 왼쪽 상단 버튼의 앵커를 왼쪽 상단 코너로 설정한 후, 왼쪽 하단 버튼은 왼쪽 하단, 오른쪽 하단 버튼은 오른쪽 하단으로 설정합니다.
이렇게 설정한 후 해상도를 변경하면, 버튼은 각각의 코너에 고정되어 위치를 유지합니다.
스크린 크기에 따른 스케일링
UI 요소의 크기를 스크린 크기에 맞추려면 Canvas Scaler 컴포넌트를 사용합니다.
Canvas Scaler 설정하기
- 루트 Canvas에 Canvas Scaler 컴포넌트를 추가합니다.
- 스케일 모드를 Scale With Screen Size로 설정합니다. Затем, 레퍼런스로 사용할 해상도를 지정합니다.
예시
- Phone HD 가로 해상도(640 x 960)에서 설정합니다.
- Phone SD 세로 해상도(320 x 480)로 변경하면 레이아웃이 비율에 맞게 축소됩니다.
이 과정에서 버튼의 크기와 거리, 그래픽스 및 텍스트 요소도 함께 축소됩니다.
종횡비에 따른 버튼 크기 조정
해상도가 변경될 때 Canvas Scaler의 Match 프로퍼티를 활용하여 버튼의 크기가 유지되도록 할 수 있습니다.
- 기본값인 0은 현재 스크린 너비를 기준으로 합니다.
- Match 값을 0.5로 설정하면 너비와 높이에서 각각 비교한 후 적절한 스케일 팩터를 선택합니다.
결론
이러한 방법을 통해 UI 요소의 레이아웃을 다양한 해상도에서 잘 유지할 수 있습니다. 적절한 앵커링과 Canvas Scaler 컴포넌트를 조합하여 다양한 스크린 해상도에 대응할 수 있습니다.
추가 자료
자세한 내용 및 다양한 방법에 대해서는 캔버스 스케일러 레퍼런스 페이지를 참조하시기 바랍니다.