UI

감사콩·2025년 11월 7일

유니티

목록 보기
13/29

서론

UI 이해와 갱신 주기 등의 최적화에 대해 알아보자



UI 구성요소

Event System

UI 이벤트(버튼 클릭, 드래그, 터치 등등) 을 관리하는 시스템

기본적으로 Input System Actions에서 기본적으로 UI 맵이 따로 제작되어 있음.
그래서 이게 없으면 작동하지 않음

딸깎

using UnityEngine.EventSystems;

Canvas

모든 UI를 담는 컨테이너 역할로, 모든 UI 요소는 반드시 Canvas 내부에 있어야 함.

Transform 대신 RectTransform 을 가지고 있음

Render Mode

각 모드에 대한 설명

Screen Space - Overlay

  • 기초적인 설정. 모든 객체 위에 생성되어 가려지지 않음.
  • 화면의 해상도에 맞춰 알아서 스케일 조정
    Screen Space - Camera
  • 렌더링 카메라를 따로 사용
    World Space
  • 캔버스를 마치 게임 오브젝트처럼 쓰고 싶을 때 사용
  • VR과 같이, UI가 오브젝트에 붙어있으면 좋을 때 사용
  • HP Bar 등등?

VR에서는 우리가 게임 오브젝트의 위치가 되기 때문에
기존 UI와 방식이 다름

캐릭터 위에 UI 제작

버튼도 하나 구현했는데

Ignore Reversed Graphics
체크 해제하면 뒤에서도 누를 수 있음

Image

RawImage와의 차이점
배경 이미지처럼 큰 이미지를 쓰거나 스프라이트를 그냥 꽂을 때 RawImage를 사용

이미지는 타입에 대해 알아보자

Simple = simple

Button

Navigation => Automatic
버튼에서의 네비게이션이란??

이런 식으로 키보드 등의 입력장치로 위아래 이동을 직접 조정하는 기능
(포켓몬 등의 터치, 클릭 개념이 적은 게임에서도 활용)

Selected Color

선택된 버튼의 색을 바꿔줌

Slider

핸들 생긴거 변경

광고를 15초 이상 시청해야 X버튼 활성화

Canvas Group

투명도와 온오프 조절 등을 위해 자식 오브젝트까지 묶어서 관리하기 위해 사용

Alpha 투명도(전체)
Interactable 상호작용 온오프
Blocks Raycasts 마우스 클릭 온오프(오프 시, 뒤에 있는 내용이 클릭됨)
Ignore Parent Group 부모 클래스 그룹의 조건을 무시

그룹화 된 캔버스를 스크립트로 원하는 상황에 조절할 수 있음

예를 들어 alpha값을 조절하는 메서드를 만들어서
Slide에 연결하면?
UI 투명도 조절 슬라이드가 완성

Grid Layout

버튼을

Drag

IBeginDragHandler, IDragHandler, IEndDragHandler

3개로 이루어진다는데 다음 기회에

profile
안녕하시와요

0개의 댓글