| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 강화학습
- MapleStoryWorlds
- ECS
- 넷코드
- 인디게임개발
- 2023 비버잼
- Unity
- 메이플스토리월드
- #스타를#하다보니#최적화맛들림#42미네랄#앞마당파일런
- 2023 버닝비버
- InputSystem
- 페스트 #알베르카뮈
- 모토가있는하루
- 바닥부터배우는강화학습
- Netcode
- 게임개발
- 유니티
- Wings2022굿즈
- custommessaging
- 브레이킹 루틴
- 프로이트 #쾌락원칙을넘어서
- 보통일베들의시대
- necode
- 2023 경기게임잼
- Wings2022
- 공정한경쟁
- Catverse
- 객체지향의사실과오해 #객체지향
- 쫄?
- 역행자
- Today
- Total
이문회우
2022.12.06. 유니티 번역 본문
유니티 Text Mesh Pro에는 fallback font라는 기능이 있다.
만일 현재 문자가 해당 폰트에 없다면, fallback font를 살펴보고 거기에서 동작하는 폰트를 가져오는 식이다.
예비 폰트라고도 볼 수 있다.
이 점을 응용하면 번역과 비슷한 기능을 구현할 수 있다.
예를 들어, 순수 영어 폰트에는 한글이 없기 때문에 한국어 폰트를 fallback font에 넣어두면 한글이 들어왔을 때 해당 폰트로 바뀌게 된다.
여기에 이어 일본어 폰트라든지 중국어 폰트 등도 fallback에 둔다면 문자가 바뀔 때마다 적절한 폰트로 바뀌게 된다.
하지만 이런 편리함 + 우회하는 구현에는 늘 그렇듯 함정이 있다.
바로 숫자나 기호.
어쨋든 해당 폰트 내에 없을 때 다른 폰트를 찾는 식이기 때문에 숫자와 기호 같이 기본적으로 폰트에 들어가버리는 내용에 대해서는 폰트 전환이 이뤄지지 않는다.
즉 '12345 + 한국어'가 번역이 이뤄진다면,
앞에 있는 12345 +는 영어 폰트로, 뒤에 '한국어'는 한국어 폰트로 변경된다.
물론, 타협을 봐서 그냥 둘 수도 있지만
자연스러움을 위해 기획자 분이 요구를 한다면...
그렇다.
아니, 사실 아직 기획자분께서 확답을 주시진 않았지만 이 상황이 벌어지자 직감할 수 있었다. x됐다.
이제 더 이상 fallback font를 통한 야매 구현은 통하지 않을거란걸...
다행인 점은 현재 구현상 번역이 필요한 모든 텍스트를 추적하고 있단 점이다.
신행아 사랑한다.
그런 점에서 번역이 실행될 때 폰트도 같이 바꾸도록 바꾸면 되긴 한다.
아마도.
그 밖에 fallback을 활용할 때 발생할 수 있는 함정 중 하나는 한글 폰트의 경우 대부분 알파벳을 기본적으로 포함하고 있기 때문에 영어 폰트로의 전환이 안 일어날 수 있단 점이다.
만일 현재 구현을 (기본)한국어 폰트 / fallback으로 외국어 폰트로 설정하고 있었다면,
게임 속에 들어간 모든 TextMeshPro를 모두 바꾸면 된다.
Prefab으로 런타임 중에 실행되는 애들도 전부^^
내가 지금 그렇다. xxxxxxxx
'글' 카테고리의 다른 글
| 파운데이션 시리즈 1~3 (3) | 2023.01.23 |
|---|---|
| 2022년 정산 (1) | 2022.12.31 |
| 2022.11.06. 데프트 성불 (1) | 2022.11.07 |
| 수련회 메타 (0) | 2022.10.31 |
| 메이플스토리 월드 스페셜 굿즈 패키지 (1) | 2022.10.31 |