Unity UI 스케일러 가이드

이 문서는 Unity의 캔버스 스케일러(Canvas Scaler) 컴포넌트에 대한 자세한 설명을 제공합니다. 캔버스 스케일러는 UI 요소의 크기와 스케일을 제어하여 다양한 화면 크기와 해상도에 적합한 UI를 만들어 줍니다.

캔버스 스케일러란?

캔버스 스케일러는 UI 요소의 전체적인 스케일과 픽셀 밀도를 제어하며, UI의 폰트 크기 및 이미지의 경계에 영향을 미칩니다.

주요 프로퍼티

프로퍼티 기능 설명
UI Scale Mode UI 요소의 스케일 방식을 결정합니다.
Constant Pixel Size UI 요소가 화면 크기에 상관없이 동일한 픽셀 크기로 유지됩니다.
Scale With Screen Size 화면 크기에 비례하여 UI 요소가 스케일됩니다.
Constant Physical Size 물리적인 크기를 기준으로 UI 요소가 유지됩니다.
Scale Factor 모든 UI 요소를 적용할 배율을 지정합니다.
Reference Pixels Per Unit 스프라이트의 1픽셀이 UI의 유닛 하나에 해당합니다.
Reference Resolution UI 레이아웃에 적합한 해상도를 설정합니다.
Screen Match Mode 해상도의 종횡비가 다를 때 캔버스를 스케일하는 방식을 설정합니다.
Match Width or Height 캔버스의 너비 또는 높이를 기준으로 스케일링합니다.
Expand 캔버스 크기가 레퍼런스보다 작아지지 않도록 확장합니다.
Shrink 캔버스 크기가 레퍼런스보다 커지지 않도록 자릅니다.

스케일 모드 설명

  1. 고정 픽셀 크기 (Constant Pixel Size)
  2. UI 요소의 크기와 위치가 픽셀 단위로 지정됩니다. 기본적으로 이 모드는 캔버스 스케일러와 연결되지 않은 경우에도 적용됩니다.
  3. 화면 크기에 따른 스케일 (Scale With Screen Size)
  4. 레퍼런스 해상도의 픽셀 수에 따라 UI 요소의 크기와 위치가 조정됩니다. 현재 해상도가 위의 레퍼런스 해상도보다 크면 캔버스가 확대되고, 작으면 축소됩니다.
  5. 고정 물리적 크기 (Constant Physical Size)
  6. UI 요소의 크기가 물리적 단위로 지정됩니다(예: 밀리미터, 포인트). 이 모드를 사용하기 위해서는 기기의 DPI가 정확해야 하며, 그렇지 않은 경우 대체 DPI를 지정할 수 있습니다.

활용 및 응용 예제

UI 디자인 팁

  • 멀티 해상도: 다양한 해상도에 적합한 UI를 만들기 위해서는 Screen Match Mode를 적절히 조정하는 것이 중요합니다. Match Width or Height를 사용하여 화면에 맞는 비율을 유지하는 것이 좋습니다.
  • 앵커 활용: RectTransform의 앵커를 잘 설정하면 다양한 해상도에서도 잘 어우러지는 UI 배치를 만들 수 있습니다.
  • DPI 설정: 모바일 기기에서 물리적 크기 설정을 사용할 경우, 날씨에 따라 변동할 수 있는 DPI를 고려해야 합니다.

코드 예제

using UnityEngine;
using UnityEngine.UI;

public class UIScalerExample : MonoBehaviour
{
    public CanvasScaler canvasScaler;

    void Start()
    {
        // 초기 캔버스 스케일러 설정
        canvasScaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
        canvasScaler.referenceResolution = new Vector2(1920, 1080);
    }
}

위의 코드 예제는 캔버스 스케일러를 설정하여 화면 크기에 따라 UI 요소의 크기가 조정되도록 설정하는 방법을 보여줍니다.

결론

캔버스 스케일러는 Unity에서 UI를 구축하는 데 중요한 컴포넌트입니다. 다양한 스케일 모드를 활용하여 다채로운 화면 환경에서 일관된 UI를 제공할 수 있습니다. UI 디자인에 있어 사용자의 경험을 최우선으로 고려하여 설정하는 것이 중요합니다.

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA