유니티 UI에 Text는 두가지가 있습니다.
하나는 Text - TextMeshPro
하나는 Text - Legacy
둘의 차이가 궁금해서 찾아보니
성능적인 면에서 TextMeshPro가 더 뛰어나지만 그만큼 연산을 많이 하므로
최적화를 위해 별로 중요하지않은 텍스트라면 Legacy로 사용한다는걸 알았습니다.
배움캠프에선 수업 중 Legacy Text를 사용하더군요.
하지만 Legacy라고 붙은 걸 보니 괜히 TextMeshPro로 만들어 보고 싶어 변경해봤습니다.
근데 TextMeshPro를 적용했더니,
한글이 적용이 안되고 깨져서 ㅁㅁㅁ이렇게 나오더라구요.
처음엔 한글 폰트 문제인가 싶어서 한글 폰트를 다운 받기로 했습니다.
눈누
상업용 무료한글폰트 사이트
noonnu.cc
눈누에서 무료로 한글 폰트를 다운 받을 수 있었습니다.
쿠키런에서 제공하는 폰트를 다운받았고
폰트를 변경해 다시 진행 해봤는데 같은 증상이 발생했습니다.
원인을 찾다가 알아낸 방법은 다음과 같습니다.
이 분의 블로그를 참고했고 해결 할 수 있었네요.
https://taekhyeong.tistory.com/350
먼저 다운받은 폰트를 유니티 프로젝트 안에 넣어줍니다.
유니티 상단에 window - TextMeshPro - Font Asset Creator를 클릭합니다.
그러면 다음과 같은 창이 뜨는데 여기에 다운 받은 폰트를 넣고
(저는 CookieRun 폰트를 넣었습니다)
CharacterSet이라고 적힌 부분을 Custom Range로 바꿔줍니다.
그리고 32- 126, 44032-55203, 12593-12643, 8200-9900 다음을 넣고
Generate Font Atlas를 실행하면 완성입니다.
저 숫자가 의미하는건 뭔가 찾아보니
영어 범위, 한글 범위, 한글 자모, 특수문자를 가리키는 번호였습니다.
이제 코드에서 TextMeshPro를 가져와 붙여넣으면 완성입니다.
TextMeshPro를 사용하려면 위에 using TMPro; 를 적어줘야 합니다.
그리고 TMP_Text를 적으면 이제 TextMeshPro를 적용해 사용할 수 있습니다.
늘 여기서 헷갈리더라구요.
오늘은 이렇게 간단하게 TextMeshPro 사용법과
한글 폰트 적용하는 법에 대해서 정리해보았습니다.