히가츠류의 보금자리

Unity Text Mesh Pro(TMP) 영어+한글 사용하는 법 본문

Programming/UnityGame_etc

Unity Text Mesh Pro(TMP) 영어+한글 사용하는 법

HiGaTsu Ryu 2020. 6. 30. 01:38

Text Mesh Pro(이하 TMP)에 대한 자료가 별로 없어서 사용하지 않으려다가

글자에 따라 크기가 달라지는 말풍선을 만들기 위해서 사용했다.

 

TMP 에셋을 전부 다운 받고 TMP를 만들어서 사용하는 것 까진 좋았는데

한글을 지원하는 Font Asset이 없어서 한글이 전부 네모네모□하면서 나왔다.

그래서 나는 나눔 명조(NanumMyeongjo) 무료 TTF 파일을 받아서 쉽게 해결했다.

 

 

 

첫번째로 쓰고 싶은 글꼴(영어와 한글을 지원하는 글꼴)의 TTF 파일을 다운 받은 후

Unity Project 폴더에 넣는다. (드래그 앤 드롭이든 복붙이든 상관 없음)

 

이후 그 파일을 우클릭해서 Create -> TextMeshPro -> Font Asset 을 누르면

몇초 안돼서 바로 그 글꼴의 SDF(폰트)파일이 만들어진다.

 

Create -> TextMeshPro -> Font Asset 를 누른다.

 

만들어진 나눔명조 SDF파일!

 

그리고 이제 만들어진 SDF 파일을 사용하고 싶은 TMP- Font Asset 부분에 넣어주면 끝이다!

(이렇게 해도 가끔 한글이 깨지는 경우가 있는데 해결방법 아래 서술)

 

Inspector창에 Font Asset이라고 되어있는 부분에 넣어주면 된다.

 

짜잔! 이렇게 한글이 잘 적용된다!!!

 

 

그리고 가끔 아래처럼 한글의 일부만 적용되거나 아예 안되는 경우가 있는데,

이처럼 되는 이유는 한글이 상용화된 글자만 다뤄도 몇천, 몇만자가 넘다보니까 SDF파일에 덜 담겨있는(?) 것 같았다.

 

이렇게 깨져서 반만 나오기도 한다.

 

그래서 이를 해결하려면 SDF 파일의 설정을 바꿔주면 된다.

해당 SDF 파일의 Generation Settings 목록중 Atlas Width, Atlas Height를 크게 바꿔주자.

 

참고로 폰트 사이즈나 Sampling Point Size를 크게 할 수록

큰 글자를 담을 수 있는 Atlas Width, Atlas Height가 필요하다.

고로 넉넉하게 Sampling Point Size는 90, Atlas Wifth & Height는 4096으로 잡아주자

 

Sampling Point Size, Atlas Width 그리고 Atlas Height를 넉넉하게 잡아주니까 해결 됐다.

 

 

TMP를 통해 다들 행복한 글쓰기 생활이 되길 바랍니다.

★이와 관련된 새로운 방법이나 활용법은 언제든지 댓글이나 연락 부탁드립니다.

 

 

 

Comments