
- XUnity.AutoTranslator 최신버전 유니티 6000과의 충돌현상으로 dnspy로 리버스 엔지니어링 함
- 폰트교체 했는데도 한글폰트가 안떠서 삽질함. 알고보니 TextMesh Pro 말고 TextMesh 쓰는거였음 (여기서 살짝 빡침)
- 제보자의 말대로 텍스트가 문자열 한개씩 조각나서 번역기에 들어가는 현상을 확인, github에서 다른 게임에서도 있었던 증상임을 확인하고 손번역으로 드리프트 하는게 낫겠다고 판단
- 메인 애셋이 자체 규격인 .arc로 압축 되어있는 걸 확인. 복호화 위해 분석 들어감....
- 개삽질 끝에 애셋 언팩에 성공. 자체 헤더+유니티 헤더의 단순구조인 줄 알았으나 알고보니 자체헤더+유니티애셋 파일 순차적으로 이어붙임 + 게임 내에서 체크섬 기반한 인증키를 초기화 할때 확인하는 구조였음. 기껏 풀어놓은 텍스트 애셋을 번역하고 리팩해봤자 체크섬에 걸린다는 사실에 중노 해버림!
- dnspy로 리버스 엔지니어링 해서 크랙을 시도했으나 bepinex가 뽑아낸 interop 더미 dll 로는 숨은 구조를 읽는데에 한계가 있었음...여기서 기력이 쇄해서 그냥 차라리 C#으로 조각난 글자를 합체시켜서 번역하는 플러그인을 만들기로 함
- 플러그인 만들다보니 내가 왜 유사 AutoTranslator를 하나 더 만들고 있나 현타가 와서 단순 텍스트 치환용으로 기능 축소함
- 유니티 6의 textmesh 보안 에러떄문에 한글폰트를 못띄워서 개삽질함 (여기서 극대노로 사자후 터짐)
- 결국 어찌어찌 띄우고 추출한 텍스트 애셋에서 번역할 원문만 주워담는 파이썬 코드 만들어서 파일 하나에 수집함...근데 시발 여기서도 대사에 종종 섞여있는 루비태그(요미가나)가 있어서 코드 보완 해야 했음
- 현재 젬마4에 인명사전만 등록해놓고 뱅가드브릿지로 딸깍 번역 시키는 중......인데 왜 번역 잘함? 그동안 번역기에 오역 필터링용 기능 넣었던 게 의미없는 뻘짓이었다 느껴질 정도로 기호 보존도 꽤 잘하는 거 같고 여러모로 힘빠지네....
느낀 점 : 나는 번역이 좋은 게 아니라 왠지 하면 좆될 거 같은 일에 자석처럼 끌리는 마조일지도 모르겠다....
교훈 : AI 시대에는 도구 숙련도 익히는데 시간 낭비할 필요 없다. 익숙해질때쯤 다른 거 나온다 ㅠㅠ
*대사 25215 개라고 뜨는데 총 소요 시간 재봐야겠다...
