1. TextMeshPro 생성
1) TextMeshPro를 생성할 때 캔버스 자동으로 만들어줌
* Canvas
1. 정의
- UI요소를 띄우기 위한 공간
- HP바, 점수, 대사, 버튼, 인벤토리 등 모든 UI 오브젝트를 포함
2. 주요특징
- 화면의 크기, 해상도, 앵커 등 통합 관리
- Render Mode(UI가 카메라를 따라갈지, 화면에 고정될지 등) 설정 가능
- UI 계층 구조의 최상위 부모 역할: 모든 UI 요소는 Canvas 하위에 있어야 화면에서 보임
* Text - TextMeshPro
1. 정의
- 텍스트를 화면에 표시해주는 UI 컴포넌트
- 기존 Text보다 훨씬 선명, 다양한 효과, 스타일 지원
- 모든 글자 정보를 보여주는 용도
2. 주요 특징
- 벡터 방식이라 글자가 커도 선명하게 보임
- 아웃라인, 그림자, 색상, 하이라이트 등 다양한 시각효과 사용 가능
- 스크립트를 통해 수정 가능
- 한글, 특수문자 지원 가능
- UI용(TextMeshProUGUI)과 3D용(TextMeshPro) 두 가지 형태 지원
2) TextMeshPro를 처음 만드는 경우 뜨는 창
- 아래 활성화된 버튼 클릭
- TMP Essentials
: TextMeshPro(TMP)에서 사용하는 필수 리소스(폰트, 셰이더, 머티리얼)가 TMP에 없어서 뜨는 화면
: 반드시 한 번은 Import해야함
- Import 완료하면 아래 버튼이 활성화됨
- Import TMP Examples & Extras
: TMP의 고급 기능 예제, 추가 에셋(데모 씬, 커스텀 머티리얼 등) Import 하는 버튼
: 주로 TMP 기능 학습, 데모용으로 필요
: 안할거면 그냥 끄면 됨
3) Text 생성 확인
(1) Hierarchy에서 확인 가능
(2) 게임 실행: 실행화면에서 확인 가능
2. Canvas 설정
1) 캔버스의 크기 설정하기
- 캔버스를 생성하면 댕 크게 나옴
(1) Canvas Scaler 설정
- Hierarchy의 Canvas 클릭 > Inspector의 Canvas Scaler
- Canvas Scaler: UI가 해상도에 따라 어떤 크기 / 배율로 맞출건지 설정하는 역할
1-1) UI Scale Mode
- Constant Pixel Size
: 화면 크기에 상관없이 UI 크기가 항상 같은 픽셀 크기로 유지
: 해상도가 달라지면 UI가 너무 작거나 커질 수 있음
- Scale With Screen Size
: 화면 해상도가 변할 때 UI도 자동으로 비율에 맞춰 크기 변화
: 가장 많이 사용하는 옵션
: 모바일, PC 등 다양한 해상도에 대응 가능
- Constanct Physical Size
: 실제 물리적 크기(ex.inch) 를 기준으로 UI 크기 조절
: 특수한 상황(태블릿, 특정 기기)에서만 사용
1-2) Reference Resoultion
: 설정한 해상도에서 UI를 기준으로 삼겠다는 뜻 ex) 1920 * 1080, 1280 * 720, 800 * 600
: 실제 게임 목표 해상도 / 주요 타겟 기기 해상도로 설정
: UI 디자인(폰트 크기, 버튼, 아이콘)도 이 해상도 기준으로 작업
1-3) Screen Match Mode: 화면의 가로세로 비가 바뀔 때(ex. PC 와이드, 모바일의 세로 등) UI의 대응 방법 설정
- Match Width Or Height
: 가로/세로 비율에 따라 자동 보정
: Match 슬라이더로 조정
* 0: 가로(Width)에 맞춤(가로가 더 중요한 게임 UI에서 사용)
* 1: 세로(Height)에 맞춤(세로가 더 중요한 모바일, 세로 UI 위주 게임)
* 0.5: 가로와 세로의 중간값(가장 무난하게 대응)
- Expand: 해상도에 맞춰 UI가 늘어나거나 줄어듦(화면의 찌그러짐 있을 수 있음)
- Shrink: UI가 넘치지 않게 맞추지만 공간이 남을 수 있음
1-4) Reference Pixels Per Unit
- 스프라이트 이미지 등에서 1유닛이 몇 픽셀인지 정의
- (유니티의 기본값) 100픽셀 = 1유닛
- Reference Resolution에서 100픽셀 크기의 이미지 = 월드 상 1유닛 오브젝트와 동일한 크기
- 이미지 해상도와 매칭 맞추고 싶을 때만 사용
- 결과: 화면 밖으로 나오던 글자가 모두 잘 나옴
참고 영상
https://www.youtube.com/watch?v=iHK_92QOvzo&list=PLZ1b66Z1KFKhO7R6Q588cdWxdnVxpPmA8&index=9