[유니티 Unity] 텍스트메시프로(TextMeshPro) 사용시, 한글 깨짐 현상 대처 방법

텍스트메시프로(TextMeshPro) 사용시, 한글 깨짐 현상 대처 방법

 


 

 

텍스트 매쉬 프로를 사용하다 보면

한글을 입력해야 하는 경우가 반드시 오게되는데 

 

그냥 TMP에 한글을 입력하면 

다음과 같이 

 

요렇게 한글이 나오는 것을 확인 할 수 있습니다. 

이럴 경우에는

 

Window - TextMeshPro- Font AssetCreater 창을 열어줍니다.

 

 

일단 원하는 폰트를 하나 다운 받아줍니다.

그리고  SourceFontFile에 사용할 폰트를 넣어주고

Character Set -> ASCII

Render Mode -> SDF

로 설정하고 GenerateFontAtlas를 눌러주면

위와 같이 폰트가 만들어진 것을 확인 할 수 있습니다.

 

그리고 만들어진 텍스트를 넣어도 바뀐게 없는 것을 보실수있습니다!

이담음 해주어야할 것은 해당 Font의 인스펙터 창으로 이동해서 

 

다음과 같이 Atlas PopulationMode를 Static -> Dynamic 으로 변경해주면

비활성화 되있던 설정창들이 열리고 PointSize를 90정도로 맞춰주고

폰트가 깨지는 것을 막기 위해서  Atlas Width/Hight를 높게 설정해주고

Apply 버튼을 누르면!

 

 

 

한글이 잘나오는것을 확인 할 수 있습니다

 

 

참고: https://ssscool.tistory.com/454

 

유니티 텍스트 메시 프로 한글이 네모로 나올 때 대처 방법 What to do when Unity TextMeshPro(TMP) Korean com

유니티 텍스트메시프로 한글이 네모로 나올 때 대처 방법 What to do when Unity TextMeshPro(TMP) Korean comes out as a square, Unity TMP TTF to SDF 유니티 TMP에서 한글을 입력하니 저렇게 네모로 나온다...

ssscool.tistory.com

 

 

추가 내용

최종 설정 추천
Sampling Point Size: 90~120
Padding: 10~15Atlas Width/Height: 2048~4096
Atlas Population Mode: 필요에 따라 Dynamic OS 또는 Static

Sampling Point Size 조정

값이 너무 크면 작은 텍스트에서 SDF 해상도가 제대로 작동하지 않을 수 있습니다.

  • Sampling Point Size 값을 90~120 사이로 줄이는 것이 좋습니다. 현재 값이 너무 커서 작은 글자에서 문제가 발생할 가능성이 있습니다.
  • 적정 범위는 폰트 크기에 따라 다르지만, 작은 크기에서 안정적인 렌더링을 위해 위 범위로 설정합니다.

Padding 값 증가

이 값이 작으면 작은 텍스트를 렌더링할 때 글자가 깨지거나 잘못된 렌더링이 발생할 수 있습니다.

  • Padding 값을 현재 5에서 10~15로 늘려보세요. 이는 텍스처 가장자리에서 텍스트 렌더링 아티팩트를 방지하는 데 도움을 줍니다.

Atlas Texture 크기 조정

  • 현재 8192 x 8192는 매우 큰 크기입니다. Atlas Texture 크기를 줄여 4096 x 4096 또는 2048 x 2048로 조정해 보세요. 큰 크기는 렌더링 리소스 낭비를 유발할 수 있습니다.

Atlas Population Mode 확인

Atlas Width와 Atlas Height가 각각 8192 x 8192로 설정되어 있습니다. 이 크기는 매우 큰 해상도로, 대량의 글리프를 처리하기에 적합합니다. 하지만 일반적인 프로젝트에서는 이 정도 크기가 필요하지 않을 수 있으며, 작은 폰트에서 SDF 데이터가 제대로 렌더링되지 않을 수도 있습니다.

  • Dynamic OS 모드는 글리프를 동적으로 추가합니다. 만약 프로젝트에서 필요한 글리프가 많지 않다면, 정적(Static) 아틀라스를 생성하는 것도 좋습니다: 
    • Atlas Population Mode를 Static으로 변경하고 필요한 글리프 세트를 미리 로드합니다.

글리프가 필요할 때 동적으로 추가되므로 대체로 효율적이지만, 특정 조건에서 문제가 발생할 수 있습니다.

Font Asset 재생성

  • 위의 설정을 조정한 뒤, Update Atlas Texture 버튼을 눌러 새로 고침합니다.
  • 문제가 지속되면 Font Asset Creator를 사용해 폰트를 다시 생성합니다:
    1. TextMeshPro > Font Asset Creator로 이동.
    2. 새 Sampling Point Size와 Padding 값을 적용한 후 새 Font Asset을 생성합니다.