1인 개발 게임 (Unity)/UNITY

[UNITY] 한글 폰트 안 깨지게 하는 법 / 한글 폰트 설정법 / 한글폰트가 깨져요/ 유니티 한글 폰트 추천

Z46 2025. 10. 29. 08:53

안녕하세요~~ 

오랜만에 돌아온 서당개입니다. ^_^ 오늘은 한글 폰트가 깨지지 않게 하려면 어떻게 하는지 알려줄거에요!  

갖가지 여러가지 블로그를 봤지만... ㅠㅠ 각 설정에 대한 설명은 잘 없고 설정값만 알려주더라고요!! 그래서 설정의 의미에 대해서도 구체적으로 담아보았습니다.

일단 추천 하는 font는 >> prentadard입니다. https://cactus.tistory.com/306 여기서 다운받은 후, font 파일 중 ttf 파일을 unity의 assets에 복사 붙여넣기 해주세요. 더 많은 폰트가 궁금하면 '눈누'를 검색해보세용. 아무튼 다운을 받으신 후 그다음 아래를 따라오세요~~ 

Unity 에서 한글 폰트(Font Asset Creator) 완벽 가이드

왜 내 Unity 프로젝트에서 한글이 네모(□)로 나올까? 이건 한글 차별이다 ㅡㅡ 

1) 왜 한글 폰트는 까다로울까?

  • 문자 수가 많음: 완성형 11,172자. 프로젝트에 따라 수천~수만 글리프가 필요할 수 있음.
  • 획이 복잡함: 얇은 획과 곡선이 많아 작은 크기에서 뭉개지기 쉬움.
  • 메모리/용량 부담: 많은 글리프를 아틀라스에 담으면 텍스처가 커짐.
증상 체크 — 글자가 □(tofu)로 보인다면: (1) 폰트 파일에 해당 글자가 없거나 (2) Font Asset의 Character Set에 포함되지 않았거나 (3) Dynamic 생성이 꺼져 있을 가능성이 큽니다.

2) Font Asset Creator 열기

Window → TextMeshPro → Font Asset Creator

창이 열리면 Source Font File부터 차근차근 설정합니다. 아래 표는 각 항목을 ‘무슨 뜻인지 + 어떤 상황에 어떤 값을 쓰는지’로 설명합니다.

3) 각 설정값  이해하기

설정 항목 이게 뭔데? 한글 기준 추천 TIP
Source Font File 기반이 되는 TTF/OTF 폰트. 이걸 바탕으로 Font Asset(.asset)을 만듭니다. 나눔, NotoSansKR, Pretendard, 본고딕 등 한글 포함 폰트 영문 전용 폰트는 한글이 빠짐. 라이선스(상용/오픈)도 꼭 확인!
Sampling Point Size 아틀라스에 그릴 때의 기준 폰트 크기. 클수록 선이 매끈하지만 공간을 많이 씀. Auto Sizing 또는 72~90pt
한글은 근데 Auto Sizing 강추
한글 획 보존을 위해 너무 낮추지 말 것. 비트맵 고정용(도트게임)이면 Custom 고정값도 OK.
Padding 글리프 주변 여백(픽셀). 외곽선/그림자 같은 효과를 넣을 때 번짐을 막아줌. 5~8px
별다른 효과없다면 5px ㄱㄱ
효과가 많으면 +2~4px 여유. 아틀라스 여유가 없다면 우선순위는 문자 가독성.
Packing Method 아틀라스에 글리프를 어떻게 채울지.
Optimum은 최적으로, 대신 느림!
Fast는 빠르게 쉭쉭, 대신 품질 낮음
Optimum 개발 중엔 Fast로 빠르게 확인 → 최종 빌드는 Optimum으로 품질 확보.
Atlas Resolution 아틀라스 텍스처 크기. 커질수록 더 많은 글리프/고품질. 최소 1024×1024, 일반 2048×2048, 대규모 4096×4096+ . 대부분 4096*4096을 씁니다!!  문자 수가 많으면 다중 아틀라스 또는 Dynamic 병행 권장.
Character Set 포함할 문자 범위/목록. 자동으로 전 글자가 들어가는 게 아님. Custom Range + Import from File 조합 => 아래에 올려드리는 걸 복사붙여넣기하세요 ! 가장 아래에 있어요 실제 프로젝트 문자열 모아서 TXT로 가져오면 용량/메모리 절감 효과 큼.
개발 중 깨지는 글자는 셀프로 여기 등록 추가! 
Render Mode SDF/비트맵 방식 선택. SDF는 확대/축소에 강하고 효과(외곽선/그림자)에 유리. SDFAA 또는 SDFAA_HINTED 작은 폰트/모바일 위주면 SDFAA_HINTED, 크기 다양/애니메이션이면 SDFAA.
Get Kerning Pairs 폰트 파일의 커닝(문자 쌍 간격 보정) 데이터를 포함. 가능하면 활성화 한글-영문 혼용 UI에서 간격 균형이 좋아짐. 폰트가 지원하지 않을 수도 있음.
Atlas Population Mode 정적(Static) vs 동적(Dynamic). 동적이면 런타임에 누락 글리프를 추가 생성. Dynamic (메모리 예산 허용 시) RPG/라이브서비스처럼 문자열이 늘어나는 프로젝트에 필수에 가깝습니다. 

5) SDFAA vs SDFAA_HINTED vs SDF — 차이 정리

모드 특징 장점 주의 추천 상황
SDF 기본 거리 필드. 후처리/커스텀 셰이더에 유연. 정확한 거리값, 단순/예측 가능. 가장자리 부드러움이 부족할 수 있음. 커스텀 렌더링 파이프라인, 특수 효과.
SDFAA SDF + 안티앨리어싱. 크기 변화에 강함, 가장자리 자연스러움. 아주 작은 폰트에서 흐려 보일 수 있음. UI 전반, 타이틀, 가변 크기 텍스트.
SDFAA_HINTED SDF + 안티앨리어싱 + 힌팅(픽셀 그리드 정렬). 작은 글자 선명도 최고, 얇은 획 보존. 큰 확대로 가면 힌팅의 왜곡이 보일 수도. 모바일/저해상도, 본문/대사처럼 작은 폰트.
요약: 작은 폰트 중심 → SDFAA_HINTED, 크기 다양·효과 많음 → SDFAA. 아주 특수한 경우가 아니라면 둘 중 하나를 고르면 됩니다.

7) Atlas/메모리 예산 잡는 법

  • UI만 영문/숫자 → 512~1024로도 충분.
  • 한글 UI + 짧은 대사 → 2048 권장.
  • 대사량이 방대(수천~) → 4096+ 또는 다중 아틀라스 + Dynamic.

 

 

8) 생성 후 반드시 하는 6가지 체크

  1. Preview: 초/중/종성 조합이 정상인지(‘안’, ‘녕’, ‘하’, ‘세’, ‘요’).
  2. 작은 크기: 12~18pt에서 번짐/뭉개짐 없는지.
  3. 효과: Outline/Shadow 적용 시 패딩 부족으로 서로 침범하지 않는지.
  4. 혼용: 한글/영문/숫자/기호가 섞인 UI에서 균형이 어색하지 않은지.
  5. 누락: □로 표시되는 글자가 없는지 (있다면 Character Set/Dynamic 확인).
  6. 성능: 메모리/텍스처 예산을 초과하지 않는지.

9) 나도 궁금한 질문(FAQ)

Q. SDFAA랑 SDFAA_HINTED 차이가 뭐죠?

둘 다 SDF + 안티앨리어싱이지만 HINTED는 작은 크기에서 픽셀 그리드에 맞춰 더 또렷합니다. 반대로 큰 크기로 확대한 상황에선 일반 SDFAA가 자연스러울 수 있어요.

Q. Dynamic 모드 쓰면 다 해결되나요?

누락 글리프 문제는 해결되지만, 메모리와 생성 비용이 듭니다. 라이브에서 늘어난 글자를 회수해 정적 아틀라스를 주기적으로 재생성하는 운영 전략이 좋습니다.

Q. 한글 + 영어를 한 폰트로 처리할까요, 대체 폰트를 둘까요?

한 폰트로 가면 일관성/관리 편의가, 대체 폰트 체인(Primary → Fallback)은 커버리지/용량 최적화가 장점입니다. UI 일관성이 중요하면 단일 폰트, 커버리지가 더 중요하면 체인을 추천합니다.

10) 실무 치트시트

  • UI 중심: SDFAA_HINTED + Padding 5 px +  4096아틀라스
  • 크기가 자주 변함: SDFAA + Padding 6~8 px
  • 비트맵 고정 크기: RASTER_HINTED + 정확한 Point Size
  • 문자 많음: Character TXT + Dynamic + 다중 아틀라스

복사붙여넣기 할 CharacterSet

ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㄲㄸㅃㅆㅉㅣㅔㅐㅏㅜㅗㅓㅡㅟㅚㅑㅕㅛㅠㅒㅖㅘㅝㅙㅞㅢ !"#$%&’()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_‘abcdefghijklmnopqrstuvwxyz{|}~가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝세요

 

 

한글 폰트 안 깨지게 하는 법 / 한글 폰트 설정법 / 한글폰트가 깨져요/ 유니티 한글 폰트 추천 

한글 폰트 안 깨지게 하는 법 / 한글 폰트 설정법 / 한글폰트가 깨져요/ 유니티 한글 폰트 추천 

한글 폰트 안 깨지게 하는 법 / 한글 폰트 설정법 / 한글폰트가 깨져요/ 유니티 한글 폰트 추천 

한글 폰트 안 깨지게 하는 법 / 한글 폰트 설정법 / 한글폰트가 깨져요/ 유니티 한글 폰트 추천 

한글 폰트 안 깨지게 하는 법 / 한글 폰트 설정법 / 한글폰트가 깨져요/ 유니티 한글 폰트 추천