2023. 11. 28. 22:18ㆍIT/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 |