본문 바로가기
유니티 최고/유니티 기초

유니티(Unity) Legacy 와 TextMesh Pro의 차이 & 글꼴(Font) 지정하기

by Lee_story_.. 2024. 4. 17.
728x90

 

 

유니티로 개발을 진행해보면 

게임상 기능뿐만 아니라 그래픽, UI, 카메라 구도등 다양한 부분에서의 중요성을 느끼게됩니다....

 

 

그래서 이번엔 Text와 글꼴에 대해서!  알아보겠습니다!

 

 

 

LEGACY   -    TMP


 

먼저 UI를 구성함에 있어,  2가지의 종류의 Text를 볼 수 있습니다. 

 

 

Legacy와 TMP인데 

 

둘의 차이는 품질과 성능에 있는 것 같습니다 .

 

Legacy의 경우 오래전 부터 사용되었던 텍스트 모델로

많은 기능들을 포함하고 있어, 현재까지도 많이 사용되는 모델입니다. 

 

TMP는 이에 조금더 개발되어 만들어진 텍스트 모델로

글자의 품질, 렌더링에 관련하여 Legacy보다 뛰어난 텍스트 모델입니다. 

 

 

여기까지만 보면 TMP가 장점이 많아보이지만,  하나의 문제점이 있습니다.... 

언어간 호환입니다. 

 

개발을 진행하며 둘을 사용해보면 

TMP는 유니티 기본 글꼴을 사용하면 한글이 깨져 버리는...  Text입니다....

 

TMP에서 한글을 사용하기 위해서는 한글 폰트에 대해서 따로 글꼴을 만들어 적용해주어야하는데,

Legacy의 경우는 따로 설정 없이 받아오기에 사용상 편리한 걸로 따지면 Legacy가 좋아 보이기도 합니다.

 

 

하지만!

 

글꼴의 크기조절과 고성능의 렌더링 기능! 무엇보다 아웃라인, 그라데이션 등의 다양한 효과를 제공해주는

TMP를 무시할수도 없을것 같습니다.....

 

 

우선 TMP를 유니티에서 계속해서 지원하고 개발하고 있기에 Text를 구성할때 TMP로 만드는 것을 권장하지만,

무엇을 사용할지는 개발자의 선택! 

 

 

 

 

 

그럼 이번엔 글꼴을 각 Text에 적용시켜 보겠습니다. 

 

 

폰트 적용!


 

 

 

 

먼저 폰트에 대해서 찾아봐야하는데 에셋스토어에서는... 영문밖에 없는것 같기도.. .

 

그래서 서칭! 

웹 상에서는 한글 글꼴에 대해서는 많은 폰트들이 있는것 같습니다.  

 

쓸만한 무료 한글 픽셀 폰트들

한글패치를 만들며 알게 된, 무료로 사용할 수 있는 픽셀 폰트들을 모아서 정리해 봤습니다. 무료라고는 하나 사용 목적이나 사용 방식에 따라 허용 여부에 차이가 있을 수 있으니, 꼭 해당 페이

geminian.tistory.com

 

이중에서 하나 

 

 

Neo 둥근모에 대해서 적용시켜 보겠습니다!

 

Neo둥근모 Pro 내려받기 - Neo둥근모 프로젝트

내려받을 준비가되셨나요? 위의 FAQ는 SIL Open Font License 1.1 라이선스 내용의 일부를 여러분이 이해하기 쉽게 요약 및 해설한 것이며, 해당 라이선스의 전체 내용을 정확하게 반영하지 않으므로,

neodgm.dalgona.dev

 

그럼 시작!

 

 

 

 

우선 위 사이트로 들어가게 되면 아래처럼 설명이 되어있습니다. 

 

 

굳..... 무료로 사용, 배포가 가능한 글꼴!

 

 

그럼 마지막으로 체크 해주고 

 

 

 

 

일반용 폰트를 다운 받아 줍시다. 

 

 

 

 

다음으로 유니티를 실행하고 Assets 폴더 내부에 추가! 

(다운 받은 파일을 import하거나 드래그 앤 드롭으로 추가해주시면 됩니다. )

 

 

여기까지 하게되면 

 

Text(Legacy) 에 적용할 수 있게 됩니다! 

 

끝...? (편의성...)

 

 

 

 

 

 

다음은 TMP에 적용시켜 주겠습니다. 

TMP에서 사용하기 위해서는 아래와 같은 설정을 진행해야 합니다!

 

 

Window - TextMeshPro - Font Asset Creator

 

 

 

그 다음 소스파일을 넣어주고 아래처럼 설정

 

Atlas Resolution -  4096*4096

Character set   -   Custom Range

Charter Sequence  -  [32-128, 44032-55203]

 

 

 

그다음 Generate Font Atlas로 생성 해줍시다. 

(꽤 걸리는거 같네요..)

 

 

 

그리고 각각 적용해준 결과는?

 

 

폰트 200 / 오브젝트 크기 1

 

흠... 차이가 없어 보이는데...

 

 

 

폰트 10 / 오브젝트 크기 20

이렇게 확대를 하면 Legacy가 깨져 버리는 것을 확인 할 수 있습니다! 

이렇게 극단적이진 않겠지만... 그래도 TMP가 더 좋은것 같네요!

 

 

 

 

 

그럼 여기서 결론! 

 

위의 결과 처럼 TMP가 좀 더 나은 모습을 보이고 있지만,

그만큼 렌더링과 기능 연산등에서 Legacy보다 자원을 많이 소모한다고합니다. 

 

그렇기에 기능에 맞게 위치에 맞게 사용하는것이 필요해 보입니다! 

 

 

 

정말 끝!

 

 

 

 

 

 

틀린점이 있다면 댓 달아주세요!

댓글