20231128_TextMeshPro

2023. 11. 28. 22:18IT/TIL

오늘의 TIL은 Unity에서 사용하는 TextMeshPro에 관한 내용이다.

 

유튜브나 강의 등에서 Text를 사용하는 경우에는 매번 TextMeshPro가 아닌 Text를 사용하기에

아래 사진의 빨간색 동그라미로 표시한 Legacy의 Text를 사용했었다.

 

 

 

오늘 Legacy - Text를 이용하여 작업을 하던 도중 Text가 명확하게 보이지 않는 문제가 발생하여

해결법을 찾던 도중, 이제는 Legacy -Text가 아닌 Text-TextMeshPro를 사용하게 되었는데

(위의 사진의 파란색 동그라미)

 

확인해본 결과 TextMeshPro(TMP)의 장점은

기존의 Text component의 시각적 품질 크게 개선하며, 사용자가 다루기 더 쉬운 점인데

아래 사진의 좌측이 TMP, 우측이 기존의 Text이다.

 

딱 봐도 차이로 느낄 수 있는 점이

좌측의 TMP가 사용자가 수정할 수 있는 부분이 더 많다는 점이며,

Font Style과 Alignment 부분의 기능이 더 많고 시각적으로 활용하기 편하다는 점이다.

즉, 다시 말해서 TMP는 기존 Text의 강화 버전이라고 할 수 있다.

 

 

다만, 이 TMP를 사용하는 경우에는 주의가 필요한데,

 

우선 Font를 그대로 사용할 수 없고 Font Asset 파일을 만들어서 사용해야 된다.

아래의 사진 처럼 window -> TextMeshPro -> Font Asset Creator 로 들어가서

우측의 창에서

Source Font File은 구글 등에서 검색한 한글로 사용할 수 있는 폰트 파일을,

Sampling Point Size는 Auto Sizing을

Atlas Resoultion은 생성되는 글씨의 해상도로 4096이상으로

Character Set은 Custom Range로 설정한 뒤에

Character Sequence에 32-126, 44032-55203, 12593-12643, 8200-9900 으로 문자의 범위를 입력해준다.

(영어 : 32-126 | 특수문자 : 8200-9900 | 한글자모 : 12593-12643 | 한글 : 44032-55203)

이후에 Generate Font Atlas를 누르면

어느 정도 시간이 소요된 후에 폰트를 사용할 수 있게 된다.

 

이러한 과정을 거치지 않으면 한글이 ㅁㅁㅁㅁ로 표시되는 현상을 겪을 수 있다.

 

 

두 번째로 주의해야되는 점은

유니티에서 원래 Text를 받아오는 경우에는

public Text timeText;

등으로 지정해주면 되었지만,

TMP를 사용하는 경우에는

public TextMeshProUGUI PlayerName;

public TMP_InputField inputField;

등으로

Text -> TextMeshProUGUI 나 TMP_InputField 등으로 TMP인 것을 알려주어야

해당 스크립트에 TextMeshPro 오브젝트를 넣어줄 수 있다.

'IT > TIL' 카테고리의 다른 글

20231130_팀 프로젝트  (0) 2023.11.30
20231129_유니티 개인과제  (0) 2023.11.29
20231127_atan(게임수학)  (0) 2023.11.27
20231124_카드뭉치(프로그래머스)  (1) 2023.11.24
20231123_2016년(프로그래머스)  (1) 2023.11.24