Unity

유니티 텍스트 메시 프로 한글이 네모로 나올 때 대처 방법 What to do when Unity TextMeshPro(TMP) Korean comes out as a square, Unity TMP TTF to SDF

정보처리마법사 2021. 3. 10. 18:02
반응형

유니티 텍스트메시프로 한글이 네모로 나올 때 대처 방법 What to do when Unity TextMeshPro(TMP) Korean comes out as a square, Unity TMP TTF to SDF

 

 

유니티 TMP에서 한글을 입력하니 저렇게 네모로 나온다.

 

 

 

 

 

이모티콘・01・고양이 마멋 친구들 - Google Play 앱

이모티콘・01・고양이 마멋 친구들: 무료 이모티콘, 회원가입 없이! 카톡, SNS로 감정 표현이 쉬워져요. 귀여움 가득, 대화창을 더 풍성하게!

play.google.com

 

 

 

 

사용한 폰트는 '배달의민족 주아체' 인데, 이 폰트의 확장자가 기본적으로 TTF인데 TMP에서 사용을 하려면 SDF타입으로 변경하는 작업이 필요하다. window > textmeshpro > font asset creator (기본적으로 유니티에서 제공하는 text mesh pro 에셋을 download and import 했다는 가정하에서 진행)

 

 

 

font asset creator 에서 배달의민족 주아체를 불러온다 (BMJUA_ttf) 주의할 점은 무료이든 유료이든 어쨌든 한글폰트중에 폰트이름이 한글로 된 파일이 있는데 그러면 에러가 난다. 폰트이름이 한글인 폰트인 경우 임의로 영어로 바꾸어 주도록 하자. 계속해서, sampling point size 등등은 그냥 default로 한 상태에서 character set는 ascii로 바꾸고, render mode는 일단 그냥 SDF로 한다(sdf 아래꺼중 아무거나 해도 되는데 추후 수정가능). 이렇게 한 상태에서 generate font atlas 버튼을 눌러 폰트아틀라스를 생성하고 난 후 save버튼을 눌러 .asset 파일을 저장한다.

 

 

BMJUA_ttf SDF.asset 파일을 저장

 

 

배달의민족 주아체가 있던 폴더에 BMJUA_ttf SDF 파일이 생성된 걸 볼수 있다. 인스펙터의 TMP 컴포넌트의 font asset에다가 방금 만든 BMJUA_ttf SDF를 연결해준다.

 

 

 

그래도 여전히 한글이 보이지 않지만, 당황하지않고

 

 

 

Project창에서 BMJUA_ttf SDF를 선택하면, Inspector창에 다음과 같이 나오는데

 

 

 

generation settings에서 atlas population mode를 Dynamic으로 바꿔준다.

 

 

 

그리고 필수는 아니지만 sampling point size도 넉넉하게 90으로 해주고, atlas width, atlas height도 넉넉하게 4096으로 맞춰준다. 그리고 apply버튼 클릭. 자신의 상황에 맞게 조절하길.

 

그러면 짜잔. 이렇게 한글이 잘 표현이 되는데,

 

 

 

자세히 보면 글자가 자글자글 하다.

 

 

 

처음에 언급했듯이 generation settings의 atlas render mode를 SDF로 한 걸 SDFAA로 바꿔준다. SDF ~ SDFAA 까지 하나 하나씩 변경해보면 조금씩 변하는걸 볼 수 있는데, 그냥 취향대로 자기 맘대로 하면 될 것 같다.

 

 

 

매끈하다. 완성!

 

 

 

끗!

 

 

www.youtube.com/watch?v=nPoCOBZCaBw

 

반응형