본문 바로가기
유니티

B12 - 게임 인터페이스를 알아봅시다

flyon 2025. 1. 1.

유니티 UI 기초 강좌 노트

1. UI 개요

  • UI (User Interface): 게임 화면에서 사용자와 상호작용하는 요소.
  • UI 좌표계
    • 월드 좌표계: 3D 공간.
    • 스크린 좌표계: 화면에 표시되는 2D 평면.

2. UI 생성 과정

  1. UI 메뉴 접근:
    • Hierarchy 창에서 우클릭 → UI → 선택.
    • 기본적으로 CanvasEventSystem이 생성됨.
    • 2D 모드 활성화 권장 (카메라 뷰가 평면으로 보임).
  2. Canvas:
    • 게임 UI의 기본 컨테이너.
    • Canvas Scaler로 화면 해상도에 따라 크기 자동 조정 가능.

3. 텍스트 컴포넌트

  • 텍스트 속성:
    • 텍스트 입력: 한글 지원 가능.
    • 폰트 설정: 원하는 폰트로 변경 가능하나, 라이선스 확인 필요.
    • 색상 및 크기 조정:
      • Font Size: 크기 설정.
      • Line Spacing: 행간 조절.
    • Overflow 옵션:
      • Wrap: 텍스트를 감싸기.
      • Overflow: 넘친 텍스트 표시.

4. 이미지 컴포넌트

  • 이미지 삽입:
    • Source Image에 원하는 이미지 추가.
    • Sprite로 설정해야 사용 가능.
  • 이미지 크기 조정:
    • Set Native Size: 원본 크기로 조정.
    • Preserve Aspect: 비율 유지.
  • Image Type:
    • Simple: 기본 확장.
    • Sliced: 모서리를 유지하며 확장.
    • Tiled: 반복 패턴으로 채우기.
    • Filled: 퍼센티지로 이미지 채우기.

5. 버튼 컴포넌트

  • 구조:
    • 버튼 기본 구조: 이미지 + 텍스트 포함.
    • Interaction:
      • Normal/Highlighted/Pressed Colors: 상태에 따른 색상 설정.
      • OnClick 이벤트:
        • 버튼 클릭 시 실행할 함수를 연결.
        • Public 함수만 선택 가능.
  • 슬라이스 기능:
    • 버튼 이미지가 크기에 따라 깨지지 않도록 조정.

6. UI 정렬 및 고정

  • Rect Transform:
    • Canvas 내부의 UI 요소는 Rect Transform 사용.
    • 앵커(Anchor) 설정으로 위치 고정:
      • 해상도 변화에도 일정 위치 유지.
      • Pivot: 중심점 설정.

7. UI 최적화 팁

  • 순서 관리:
    • Hierarchy 상단에 위치한 요소가 우선적으로 그려짐.
  • UI 배치:
    • 필요에 따라 겹치거나 배경 이미지를 추가 가능.
  • 디자인 가이드:
    • 사용자에게 가독성이 좋은 크기, 색상, 정렬을 사용.

8. 버튼 이벤트 예제

  • 스크립트 연결:
     
  • Button OnClick 설정:
    • 버튼 → OnClick → 오브젝트와 함수 연결.
public void Jump() { transform.localScale = new Vector3(1.2f, 1.2f, 1.2f); }

9. 해상도 대응

  • Canvas Scaler:
    • Scale with Screen Size: 화면 크기에 따라 UI 비율 자동 조정.
    • Reference Resolution: 기준 해상도 설정.
profile
작심삼일을 무한으로 반복하는 지식세포 키우기
✏️ ⚙️