티스토리 뷰
유니티에서 Text UI에 한글 폰트를 사용할랬더니 폰트가 깨져서 나왔다.
기본적으로 적용되어있는 LiberationSans 폰트를 사용했다.
아무래도 한글 지원이 되지 않는 것 같았다.
한글 폰트를 적용하는 방법을 GPT에게 물어보자.
-------------------------------------------------
답변
유니티에서 UI에 한글 폰트를 사용하는 방법은 다음과 같습니다. 기본적으로 유니티는 폰트 시스템을 지원하지만, 원하는 한글 폰트를 프로젝트에 추가하고 적용하는 과정이 필요합니다.
1. 한글 폰트 파일 준비
먼저 사용할 한글 폰트 파일(.ttf 또는 .otf 파일)을 준비해야 합니다. 한글 폰트는 아래와 같은 경로에서 구할 수 있습니다:
- 네이버 한글날 배포 폰트
- 구글 Noto Sans CJK 폰트 (무료)
- 국립국어원 배포 폰트
- 기타 상업용 무료 폰트 사이트
2. 폰트 파일을 유니티 프로젝트에 추가
- 폰트 파일을 다운로드한 후, 유니티 프로젝트에서 Assets 폴더에 추가합니다.
- 유니티에서 Assets 폴더를 열고 폰트 파일을 드래그 앤 드롭으로 넣거나, 직접 복사해서 넣습니다.
- 폰트를 Assets/Fonts와 같은 별도의 폴더에 정리하는 것도 좋습니다.
3. UI에 폰트 적용
- Hierarchy 창에서 Text 또는 TextMeshPro 컴포넌트를 사용하는 UI 요소를 선택합니다.
- Canvas 안에 있는 Text 또는 TextMeshPro - Text 오브젝트를 선택하세요.
- Inspector 창에서 Text 또는 TextMeshPro 컴포넌트의 Font 속성으로 이동합니다.
- Text: Text 컴포넌트에서 Font 항목에 폰트를 드래그해서 적용합니다.
- TextMeshPro: TextMeshPro 컴포넌트를 사용할 경우, Font Asset 항목에서 원하는 폰트를 적용합니다.
- 한글 입력 테스트: 이제 텍스트 박스에 한글을 입력하여, 한글이 정상적으로 표시되는지 확인합니다.
4. TextMeshPro를 사용할 때 (선택 사항)
유니티에서 UI 텍스트로 TextMeshPro를 사용할 경우, 폰트는 TextMeshPro Font Asset으로 변환해야 합니다. 이 과정은 아래와 같습니다.
(나 같은 경우 TextMeshPro를 사용하고 있었다.)
- TextMeshPro 폰트 에셋 생성:
- Window > TextMeshPro > Font Asset Creator로 이동합니다.
- 폰트 에셋을 생성하는 창에서 Font Source에 한글 폰트 파일을 선택합니다.
- 글리프 범위에서 한글(Korean Hangul) 또는 전체 글리프(Glyph) 범위를 설정한 후, Generate Font Atlas를 클릭하여 폰트 에셋을 생성합니다.
- 생성된 폰트 에셋을 TextMeshPro의 Font Asset으로 설정하여 사용할 수 있습니다.
팁!
Atlas Resolution 값을 512 x 512로 하게되면 일부 한글 텍스트가 다시 깨질 수도 있음.
최대로 4096 x 4096으로 설정하자.
(여기까지 따라했는데 Generate Font Atlas를 클릭했을 때, 오류가 발생한다면!)
유니티에 불러온 Font 파일 이름을 영어로 수정하고 다시 버튼을 누르면 해결된다.
폰트 에셋 생성이 완료되면 Save를 눌러 저장한다.
그러면 이렇게 F 아이콘이 그려져 있는 파일이 새로 생성될 것이다.
이 파일의 inspector 창에 들어가서.
Generation Settings -> Atlas Population Mode를 Dynamic으로 지정해주면 된다. (원래는 Static으로 되어있음)
그리고 Sampling Point Size를 60으로 변경해주면 한글이 정상적으로 표시된다.
Sampling Point Size 값을 60으로 해도 표시되지 않으면 값을 올려보거나 줄이면서 조절한다.
정상적으로 한글이 표시되는 모습을 확인할 수 있다.
주의 사항
- 유니티는 기본적으로 한글을 지원하지만, 특정 폰트에서 한글이 지원되지 않으면 제대로 표시되지 않을 수 있습니다. 이 경우 다른 한글 폰트를 사용해야 합니다.
- TextMeshPro는 기본 Text UI보다 더 좋은 텍스트 렌더링을 제공하며, 텍스트를 더 세밀하게 조정할 수 있습니다.
이 과정을 통해 유니티에서 한글 폰트를 사용하는 UI를 쉽게 설정할 수 있습니다.
-------------------------------------------------
'유니티 3D' 카테고리의 다른 글
유니티 TextMeshPro 오브젝트가 Public Text에 할당이 안될때 (0) | 2024.09.10 |
---|---|
3D 쿼터뷰 액션 게임 따라 만들기 (2) - 골드메탈 (2) | 2024.09.05 |
3D 쿼터뷰 액션 게임 따라 만들기 (1) - 골드메탈 (1) | 2024.09.05 |
- Total
- Today
- Yesterday
- 무료공포게임
- 인디
- 백준 30802
- 게임 추천
- 명언 모음
- 쓴소리 모음
- 쓴소리
- 유니티
- AI 공부
- 백준
- 독학
- 파피플레이타임
- 성공 명언
- console.writeline
- 인생 명언
- 위인 명언
- 문제 풀이
- 개발 공부
- 프로그래밍
- 인디 게임 개발
- 공포게임
- 프로그래밍 독학하는 법
- c# 독학
- 모바일 게임 추천
- 게임 개발
- 문자열 보간
- 공포게임추천
- c#
- 게임 개발 독학하는 법
- 개발 독학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |