Unity의 WebGL에서 일본어 표시

3281 단어 WebGLUnity

문제



Unity에서 WebGL 용으로 앱을 출력하면 앱의 문자가 표시되지 않을 수 있습니다.

예를 들어 아래와 같이 Unity UI에 일본어 표기를 설정합니다. 특히 아무것도 설정하지 않고 uGUI의 Text 컴포넌트로 UI를 표시하고 있습니다.


이것을 WebGL 용으로 출력하면 아래와 같이 일본어가 표시되지 않습니다.


글꼴 폴백은 WebGL에서 작동하지 않습니다.



문제는 Unity 폰트의 초기 설정이 Arial인 것,
그리고 Unity의 Text를 사용할 때 표준 설정으로 설정되는 Arial 폰트에 일본어가 포함되어 있지 않습니다.



일반적으로 Unity는 지정된 글꼴(이 경우 Arial)에 포함되지 않은 문자를 사용하는 경우 다른 글꼴에서 문자를 추출합니다. 그러나 WebGL은 이 폴백하는 폰트를 내포하고 있지 않기 때문에, 일본어의 문자를 취득할 수 없고 공백으로서 표시하고 있는 이유입니다.

해결 방법



이 해결 방법은 일본어를 포함한 글꼴을 설정하는 것입니다.
실제로 일본어가 들어있는 글꼴의 Noto를 사용해 보겠습니다.
  • google noto 사이트에서 Noto Sans CJK KR을 다운로드하여 압축을 풉니 다.
  • NotoSansCJKjp-Light를 Project 브라우저로 드래그 앤 드롭합니다.
    (Noto Sans CJK JP에는 일본어가 포함되어 있으므로 NotoSansCJKjp-Light 이외의 폰트에서도 OK입니다)
  • 가져온 글꼴을 Text의 Font로 드래그 앤 드롭합니다.
  • 이제 WebGL로 출력 할 때도 일본어가 표시됩니다.








  • ※폰트가 다르기 때문에, 표시하는 문자도 변화하고 있습니다

    TextMesh(3DText)의 경우도 마찬가지로 Font를 설정하여 일본어 표시가 가능합니다.



    글꼴 라이센스에 주의



    Font에 글꼴을 설정하는 방법을 사용하면 일본어 글꼴을 사용할 수 있습니다. 그러나 게임에는 글꼴이 포함됩니다. 즉 폰트의 재배포 취급이 됩니다.

    일본어용의 폰트는, 다운로드해 개인적으로 사용하는 것은 인정하고 있어도, 게임에 동봉해 사용하는 것(재배포)은 인정하고 있지 않는 것이 많습니다.

    실제로 폰트를 이용할 때는, 자주 라이선스를 확인해 주세요.
    (Noto는 재배포 가능한 글꼴 중 하나입니다. 단, 재배포하려면 LICENSE_OFL을 동봉해야합니다.)

    참고



    Unity5.3의 WebGL에서 일본어가 표시되지 않는다! ? - 페렛 클럽의 비망록
    Unity에서 일본어 글꼴 사용 - Unity 게임 개발소

    좋은 웹페이지 즐겨찾기