홈으로 돌아가기

UniText 2.0: Unity에서의 폰트 렌더링

UniText 2.0은 HarfBuzz shaping, SDF/MSDF 렌더링 및 Variable Fonts에 중점을 둔 Unity용 텍스트 엔진을 업데이트합니다. BiDi/RTL 지원, 동적 아틀라스 및 World Space 텍스트가 복잡한 UI 개발을 간소화합니다. 상용 버전, 오픈 1.0 포함.

Unity에서의 UniText 2.0: shaping부터 World Space까지
Advertisement 728x90

UniText 2.0: Unity를 위한 렌더링 및 폰트 처리의 주요 개선 사항

UniText 2.0은 Unity용 텍스트 엔진의 완전한 재설계입니다. 변경 로그는 거의 모든 구성 요소를 포괄하며, 버전 1.0의 강점을 유지하면서 새로운 기능을 추가했습니다. 스타일, 폰트, 최신 Unicode 표준을 다루는 작업을 간소화하는 데 중점을 두었습니다. 오픈 소스 버전 1.0은 여전히 제공되며, 2.0은 공식 웹사이트나 Asset Store를 통해 상용으로 이용할 수 있습니다.

2.0 버전은 중급/시니어 개발자를 대상으로 하며, 성능 저하 없이 빌드와 렌더링을 최적화하는 도구를 제공합니다. Burst 지원은 네이티브 플랫폼에서 성능 향상을 제공하지만, WebGL에서의 Unity 6.4 현재 기능으로 제한됩니다.

렌더링 및 쉐이핑 기술

엔진은 복잡한 스크립트를 위한 표준 도구인 HarfBuzz를 텍스트 쉐이핑에 사용합니다. 렌더링은 SDF와 MSDF를 통해 구현되어 다양한 크기에서 선명함을 유지하며 아티팩트가 발생하지 않습니다. Burst와의 통합으로 핵심 경로를 네이티브 코드로 컴파일하여 오버헤드를 최소화합니다.

Google AdInline article slot

RTL 언어(Arabic, Hebrew)와 BiDi 텍스트에 대한 완전한 지원이 Unicode 사양을 준수하며 테스트 통과율 100%를 달성합니다. 이는 LTR/RTL 혼합 콘텐츠에 대한 커스텀 솔루션의 필요성을 없앱니다.

TMP의 여러 아틀라스를 대체하는 단일 동적 폰트 아틀라스가 도입되었습니다. 자동 압축으로 빌드 내 폰트 크기를 2~3배 줄입니다. 도구를 통해 사용하지 않는 문자를 제외한 글리프 서브셋을 생성할 수 있습니다.

고급 폰트 및 파싱 지원

Font Family와 Variable Fonts 지원이 추가되었습니다. Variable Fonts는 여러 파일 없이 무게, 너비 등 파라미터를 동적으로 변경할 수 있어 디자이너 에셋 문제를 해결합니다.

Google AdInline article slot

파싱은 Markdown, BBCode 또는 커스텀 파서를 지원합니다. 이모지는 ZWJ 시퀀스, 피부 톤 수정자, 네이티브 시스템 이모지를 포함하며 빌드에 포함시키지 않습니다.

비주얼 수정자 시스템은 머티리얼 의존성을 피하여 다양한 효과로 배칭을 가능하게 합니다. 프래그먼트 스타일을 위한 커스텀 모듈, 프리셋, 태그로 확장됩니다. Inspector는 빠른 설정을 위해 간소화되었습니다.

주요 기능 목록:

Google AdInline article slot
  • 렌더링을 위한 HarfBuzz + SDF/MSDF + Burst.
  • 완전한 Unicode 준수 RTL/BiDi.
  • 2~3배 압축 동적 아틀라스.
  • Font Family, Variable Fonts, 이모지(ZWJ, 피부 톤, 시스템).
  • 머티리얼 없이 수정자, 커스텀 프리셋 및 태그.
  • Markdown/BBCode 파싱.

3D 공간에서의 텍스트와 성능

새 기능: Canvas 외부 World Space 텍스트와 자동 배칭. Canvas가 유연성을 제한하는 AR/VR 및 3D UI에 이상적입니다.

벤치마크가 성능 향상을 확인하며 특히 대량 텍스트 시나리오에서 두드러집니다. Desktop과 WebGL(Unity 6.3+)에서 빌드가 원활하게 실행되지만 WebGL은 Burst를 완전히 활용하지 않습니다.

테스트에서 사소한 버그가 발견되지만 치명적인 것은 즉시 수정됩니다. 프로덕션 사용 시 실제 루프에서 추가 검증이 필요합니다.

중요한 점

  • 단일 아틀라스와 압축으로 빌드 크기 대폭 감소.
  • 휠 재발명 없이 완전한 BiDi/RTL 지원으로 현지화 간소화.
  • 배칭 손실 없이 세밀한 텍스트 스타일링을 위한 수정자와 태그.
  • Variable Fonts와 시스템 이모지로 에셋 최소화.
  • World Space 텍스트로 UI Canvas를 넘어 확장.

이 엔진은 높은 텍스트 요구사항 프로젝트에서 TMP의 대안으로 자리매김합니다. 전망은 UI Toolkit의 발전에 달려 있지만 현재 스택은 프로덕션에 탄탄합니다.

— Editorial Team

Advertisement 728x90

다음 읽기