Unity 2018에서 텍스트메시 프로 최대한 활용하기

ALESSIA NIGRETTI / UNITY TECHNOLOGIESContributor
Oct 16, 2018|7 분
Unity 2018에서 텍스트메시 프로 최대한 활용하기
이 웹페이지는 이해를 돕기 위해 기계 번역으로 제공됩니다. 기계 번역으로 제공되는 콘텐츠에 대한 정확도나 신뢰도는 보장되지 않습니다. 번역된 콘텐츠의 정확도에 관해 의문이 있는 경우 웹페이지의 공식 영어 원문을 참고해 주시기 바랍니다.

FPS, 퍼즐 게임, VR 경험 등 어떤 게임을 개발하든 신경 써야 하는 부분 중 하나는 사용자 인터페이스입니다. 다행히도 2017년 3월부터 텍스트메시 프로가 유니티의 제품군에 합류했습니다. 즉, Unity에서 UI를 멋지게 만드는 것이 훨씬 더 쉽고 빨라졌습니다!

이러한 개발을 아직 따라잡지 못한 분들을 위해 설명하자면, 텍스트메시 프로는 유니티의 기본 텍스트 컴포넌트를 대체하는 툴입니다. 성능은 똑같지만(경우에 따라서는 더 뛰어나기도 합니다) 원래 Valve가 Team Fortress 2에서 사용했던 SDF( Signed Distance Field )라는 완전히 다른 렌더링 기법을 사용합니다. 텍스트 메시 프로는 많은 노력 없이도 텍스트를 멋지게 보이게 하는 기능과 함께 인스펙터 또는 스크립팅을 통해 훨씬 더 고급스러운 제어 기능을 제공합니다. 이 글에서는 이 놀라운 도구를 최대한 활용하는 방법을 살펴보겠습니다!

텍스트메시 프로를 사용하여 프로젝트를 시작하는 것이 좋은 이유는 크게 두 가지입니다. 첫째, 시각적 개선입니다. SDF 렌더링 덕분에 글꼴을 다시 만들지 않고도 텍스트의 모양을 쉽게 변경할 수 있습니다. 모든 TextMesh Pro 컴포넌트에는 텍스트 스타일을 수정하기 위해 조정할 수 있는 머티리얼이 첨부되어 있습니다. 둘째, 더 나은 제어. 텍스트 메시 프로 컴포넌트에는 일반 텍스트 컴포넌트에서 찾을 수 있는 모든 변수와 훨씬 더 많은 변수가 포함되어 있습니다. 이것으로도 충분하지 않다면, 현재 전 세계 25만 명 이상의 개발자가 TextMesh Pro를 사용하고 있다는 사실만 알아두세요!

텍스트메시 프로와 기본 텍스트

기본 Unity 텍스트로 작업하다 보면 오브젝트를 늘리거나 크기를 조정하면 흐릿하게 보이는 경우가 있을 수 있습니다. 텍스트에는 크기를 조정했을 때 어떻게 보일지에 대한 정보가 없기 때문에 Unity는 "즉흥적으로" 누락된 픽셀을 즉석에서 생성해야 합니다. 텍스트메시 프로가 사용하는 렌더링 기술이 다르기 때문에 더 이상 문제가 되지 않습니다. SDF는 글꼴 아틀라스를 고해상도로 렌더링하는 원리를 기반으로 하므로 글꼴 크기가 조정되었을 때 글꼴이 어떻게 보일지에 대한 정보를 항상 가지고 있습니다.

이미지

텍스트메시 프로를 사용하면 모든 글꼴 파일을 가져와 자신만의 글꼴 에셋을 만들 수 있습니다(창 > 텍스트메시 프로 > 글꼴 에셋 생성기). 이를 통해 글꼴 아틀라스의 해상도를 선택할 수 있습니다(텍스트에 대한 SDF 렌더링이 얼마나 효과적인지 결정합니다). 해상도를 낮게 선택할수록 글꼴 아틀라스가 더 빨리 생성됩니다.

이미지

글꼴에는 다양한 크기에서 글꼴이 어떻게 보이는지에 대한 정보가 있으므로 글꼴 아틀라스에서 윤곽선과 그림자를 재구성할 수도 있습니다. 머티리얼 속성을 조정하기만 하면 텍스트의 모양이 완전히 달라지는 것을 볼 수 있습니다!

더 나은 제어

지금까지 살펴본 것처럼 TextMesh Pro는 멋진 텍스트를 제공합니다. 하지만 아무리 좋은 텍스트도 제어할 수 없다면 무슨 소용이 있을까요? 텍스트메시 프로 컴포넌트에는 글꼴 크기, 간격, 정렬, 커닝을 사용자 지정하거나 자동 크기 조정을 활성화하고 컨테이너에 텍스트를 맞출 수 있는 옵션이 있습니다. 특히 마지막 두 가지 기능은 스크립트 없이도 텍스트 컨테이너에 따라 텍스트 크기를 자동으로 조정할 수 있으므로 다양한 플랫폼 또는 다양한 언어로 작업할 때 탁월한 제어 기능을 제공합니다. 그러나 런타임에 이러한 설정을 변경하려면 TextMeshPro API에서 TextMesh Pro 컴포넌트의 모든 변수에 액세스할 수 있습니다.

추가 사용자 정의 계층을 위해 텍스트 개체에 텍스트 정보 디버그 도구 구성 요소를 추가하여 문자, 단어, 링크, 줄 등을 시각적으로 표현할 수도 있습니다.

이미지

헤더, 제목, 인용문 등을 삽입할 때마다 텍스트 서식을 다시 지정하는 시간을 절약하고 싶다면 특정 목적에 맞게 스타일시트를 설정할 수 있습니다. 한 가지 예로 헤더에 장식을 삽입하는 것을 들 수 있습니다. 스타일 시트를 만들려면 만들기 > TextMesh Pro > 스타일 시트를 선택합니다. 이 새 에셋은 편집 > 프로젝트 설정 > 텍스트메시 프로 설정에서 기본 스타일 시트로 설정할 수 있습니다.

이미지
서식 있는 텍스트

인스펙터 또는 스크립트에서 텍스트의 모양을 제어하는 것 외에도 텍스트 필드 자체에서 텍스트의 모양을 제어할 수 있습니다. HTML 또는 XML에 익숙하다면 입력할 때 텍스트의 모양을 사용자 지정할 수 있습니다. 아직 모르는 경우 텍스트메시 프로에서 리치 텍스트를 사용하는 방법에 대한 가이드를 읽고 시작하세요! 이는 동일한 텍스트 개체에서 여러 스타일, 크기, 재질을 사용하려는 경우에 특히 유용합니다.

이미지
머티리얼 사용자 지정

텍스트 메시 프로를 멋지게 만드는 또 다른 방법은 텍스트에 표면 셰이더를 적용하는 것입니다. 이렇게 하면 씬의 조명이 텍스트에 영향을 줄 수 있습니다. 아래 예시에서는 몇 개의 실시간 포인트 라이트가 씬에서 움직이며 텍스트에 영향을 미치고 있습니다.

이미지

머티리얼 프로퍼티에서는 면, 윤곽선, 베벨, 조명, 범프맵, 환경맵, 글로우, 디버그 설정과 같은 설정을 사용자 지정할 수 있는 옵션을 제공합니다.

마음에 드는 머티리얼을 만들었으면 언제든지 재사용할 수 있는 머티리얼 프리셋을 만들 수 있으며, 특히 사용 중인 글꼴 에셋에 사용할 수 있습니다. 머티리얼 이름을 마우스 오른쪽 버튼으로 클릭하고 '머티리얼 프리셋 생성'을 선택하면 됩니다. 그러면 텍스트메시 프로 컴포넌트 > 폰트 설정 > 머티리얼 프리셋에서 선택할 수 있는 에셋이 생성됩니다 .

폴백 시스템

특정 문자가 누락된 글꼴 아틀라스를 생성한 경우 TextMesh Pro는 문자를 입력할 때마다 기본 글리프로 되돌아가도록 합니다. 이 글리프는 편집 > 프로젝트 설정 > 텍스트메시 프로 설정으로 이동하여 변경할 수 있습니다 . 또는 기본 아틀라스에서 문자를 찾을 수 없는 경우 TextMesh Pro가 되돌아갈 폰트 에셋을 하나 이상 설정할 수 있습니다. 최적화를 위해 기본 글꼴 아틀라스는 더 높은 해상도로 유지하고 모든 대체 아틀라스는 더 낮은 해상도로 유지하는 것이 좋습니다.

그 외에도 텍스트메시 프로 설정을 사용하여 폰트 및 머티리얼 또는 스프라이트 에셋의 리소스 경로를 설정할 수 있습니다. 리치 텍스트를 사용할 때 설정에서 정의한 기본 스프라이트 에셋에서 사용할 수 있는 스프라이트에 따라 스프라이트를 삽입할 수 있습니다. 가장 쉬운 방법은 스프라이트 시트를 임포트한 다음 스프라이트 에디터에서 에셋을 슬라이싱하고 마우스 오른쪽 버튼으로 클릭한 다음 생성 > 텍스트메시 프로 > 스프라이트 에셋을 선택하면 됩니다. 이 새로운 에셋에서 오프셋 또는 피벗과 같은 설정을 사용자 지정할 수 있습니다. 마찬가지로 기본 스프라이트 에셋에서 스프라이트를 찾을 수 없는 경우 대체할 일련의 폴백 스프라이트 에셋을 설정할 수 있습니다.

이미지
요약...

이미 언급했듯이 성능 측면에서 TextMesh Pro는 기본 텍스트와 유사하게 작동하며 여전히 쿼드에서 렌더링되므로 비트맵 글꼴을 사용하는 것만큼 효율적입니다. 런타임 메모리 할당도 없습니다: 텍스트 메시 프로는 재생을 누를 때만 텍스트 오브젝트를 위한 공간을 할당합니다. 글자 수를 크게 늘리는 경우에는 한 번만 재할당되며, 글자 수를 줄이는 경우에는 256자 이상 줄지 않는 한 재할당이 이루어지지 않습니다. 또한 개선 사항으로는 TextMesh Pro에서 사용하는 SDF 렌더링 기술 덕분에 아웃라인 및 그림자 효과와 같은 스타일에서 더 나은 결과를 얻을 수 있습니다.

이 블로그에서 언급된 대부분의 내용은 TextMesh Pro를 프로젝트로 임포트할 때 예제 씬으로 제공됩니다(Unity 2018.1 이상 버전부터 창 > 패키지 관리자 > TextMesh Pro > 설치에서 ). 텍스트메시 프로를 사용하기 전에 이 문서에서 대부분의 질문에 대한 답을 찾을 수 있으니 꼭 읽어보시기를 강력히 추천합니다. 하지만 피드백을 제공하거나 궁금한 점이 있으면 포럼을 통해 문의해 주세요.