Unity의 텍스트

텍스트는 홀로그램 앱에서 가장 중요한 구성 요소 중 하나입니다. Unity에서 텍스트를 표시하려면 UI 텍스트, 3D 텍스트 Mesh 및 텍스트 Mesh Pro 세 가지 유형의 텍스트 구성 요소를 사용할 수 있습니다. 기본적으로 UI 텍스트 및 3D 텍스트 Mesh 흐리게 표시되고 너무 큽 수 있습니다. 몇 가지 변수를 변경하면 HoloLens 관리하기 쉬운 크기로 더 선명하고 고품질의 텍스트가 생성됩니다. UI 텍스트 및 3D 텍스트 Mesh 구성 요소를 사용할 때 적절한 차원을 얻기 위해 크기 조정 요소를 적용하여 렌더링 품질을 높일 수 있습니다.

How to get sharp and beautiful text
Unity의 흐릿한 기본 텍스트

Unity의 3D 텍스트(텍스트 Mesh) 및 UI 텍스트 작업

Unity는 장면에 추가된 모든 새 요소가 하나의 Unity 단위 크기 또는 100% 변환 배율이라고 가정합니다. 하나의 Unity 단위는 HoloLens 약 1미터로 변환됩니다. 글꼴의 경우 3D TextMesh에 대한 경계 상자는 기본적으로 높이 약 1미터로 제공됩니다.

Working with Fonts in Unity
기본 Unity 3D 텍스트(텍스트 Mesh)는 하나의 Unity 단위(1미터)를 차지합니다.


대부분의 비주얼 디자이너는 포인트를 사용하여 실제 세계에서 글꼴 크기를 정의합니다. 1미터에 약 2835점(2,834.645666399962)이 있습니다. 포인트 시스템을 1미터로 변환하고 Unity의 기본 텍스트 Mesh 글꼴 크기가 13인 간단한 수학을 2835로 나눈 값은 0.0046(0.0045861111116)과 같으며, 이는 시작하기에 좋은 표준 배율을 제공합니다(일부는 0.005로 반올림할 수 있음). 텍스트 개체 또는 컨테이너를 이러한 값으로 크기 조정하면 디자인 프로그램에서 글꼴 크기를 1:1로 변환할 수 있을 뿐만 아니라 환경 전체에서 일관성을 유지할 수 있도록 표준을 제공합니다.

Scaling values for the Unity 3D Text and UI Text
Unity 3D 텍스트 및 UI 텍스트에 대한 값 크기 조정


Unity 3D Text Mesh with optimized values
최적화된 값이 있는 Unity 3D 텍스트 Mesh


장면에 UI 또는 캔버스 기반 텍스트 요소를 추가할 때 크기 차이는 여전히 커집니다. 두 크기의 차이는 약 1000%이며, UI 기반 텍스트 구성 요소의 배율 인수는 0.00046(정확한 경우 0.00045861111116)으로, 반올림된 값의 경우 0.0005입니다.

Unity UI Text with optimized values
최적화된 값이 있는 Unity UI 텍스트


참고

모든 글꼴의 기본값은 해당 글꼴의 질감 크기 또는 글꼴을 Unity로 가져오는 방법에 영향을 받을 수 있습니다. 이러한 테스트는 Unity의 기본 Arial 글꼴과 가져온 다른 글꼴을 기반으로 수행되었습니다.

텍스트 Mesh Pro 작업

Unity의 Text Mesh Pro 사용하면 텍스트 렌더링 품질을 보호할 수 있습니다. SDF(부호 있는 거리 필드) 기술을 사용하여 거리에 관계없이 선명한 텍스트 윤곽선을 지원합니다. 위에서 3D 텍스트 Mesh 및 UI 텍스트에 사용한 것과 동일한 계산 방법을 사용하여 기존 입력 요소에 사용할 적절한 크기 조정 값을 찾을 수 있습니다. 크기가 36인 기본 3D 텍스트 Mesh Pro 글꼴의 경계 크기는 2.5 Unity 단위(2.5m)이므로 크기 조정 값 0.005를 사용하여 포인트 크기를 가져올 수 있습니다. UI 메뉴 아래의 텍스트 Mesh Pro 기본 경계 크기는 25 Unity 단위(25m)입니다. 이렇게 하면 크기 조정 값에 대해 0.0005가 표시됩니다.

Scaling values for the Unity 3D Text and UI
Unity 3D 텍스트 및 UI에 대한 값 크기 조정

예상할 수 있듯이 PC 또는 태블릿 장치에서 사용하는 유형 크기(일반적으로 12~32pt 사이)는 2미터의 거리에서 작게 보입니다. 각 글꼴의 특성에 따라 달라지지만, 일반적으로 권장되는 최소 시야각 및 가독성을 위한 글꼴 높이는 사용자 연구 결과에 따라 약 0.35°-0.4°/12.21-13.97mm입니다. 위에서 소개한 배율 인수가 있는 약 35-40pt입니다.

0.45m(45cm)에서 가까운 상호 작용의 경우 읽을 수 있는 최소 글꼴의 시야각과 높이는 0.4°-0.5°/3.14-3.9mm입니다. 위에서 소개한 배율 인수가 있는 약 9-12pt입니다.

Near and far interaction range근거리 및 원거리 상호 작용 범위의 콘텐츠

읽을 수 있는 최소 글꼴 크기

거리 시야각 텍스트 높이 글꼴 크기
45cm(직접 조작 거리) 0.4°-0.5° 3.14-3.9mm 8.9-11.13pt
2 m 0.35°-0.4° 12.21-13.97mm 34.63-39.58pt

편안하게 읽을 수 있는 글꼴 크기

거리 시야각 텍스트 높이 글꼴 크기
45cm(직접 조작 거리) 0.65°-0.8° 5.1-6.3mm 14.47-17.8pt
2 m 0.6°-0.75° 20.9-26.2mm 59.4-74.2pt

Segoe UI(Windows 기본 글꼴)는 대부분의 경우 잘 작동합니다. 그러나 얇은 세로 스트로크가 진동하고 가독성이 저하되므로 작은 크기의 밝은 글꼴 또는 반광 글꼴 패밀리를 사용하지 마십시오. 스트로크 두께가 충분한 최신 글꼴이 잘 작동합니다. 예를 들어 Helvetica와 Arial은 화려해 보이고 일반 또는 굵은 무게로 HoloLens 읽을 수 있습니다.

Viewing Angle거리, 각도 및 텍스트 높이 보기

Mixed Reality Toolkit v2가 있는 텍스트

적절한 차원의 날카로운 텍스트 렌더링 품질

이러한 배율 인수를 기반으로 UI 텍스트 및 3D 텍스트 Mesh 사용하여 텍스트 프리팹을 만들었습니다. 개발자는 이러한 프리팹을 사용하여 날카로운 텍스트와 일관된 글꼴 크기를 얻을 수 있습니다.

Sharp text rendering quality with proper dimension
적절한 차원의 날카로운 텍스트 렌더링 품질

폐색이 지원되는 셰이더

Unity의 기본 글꼴 재질은 폐색을 지원하지 않습니다. 이 때문에 기본적으로 개체 뒤에 텍스트가 표시됩니다. 폐색을 지원하는 간단한 셰이더가 포함되어 있습니다. 아래 이미지는 기본 글꼴 재질(왼쪽)이 있는 텍스트와 적절한 폐색이 있는 텍스트(오른쪽)를 보여 줍니다.

Shader with occlusion support
폐색이 지원되는 셰이더

다음 개발 검사점

배치한 Unity 개발 과정을 따라가는 경우 MRTK 핵심 구성 요소를 탐색하는 중입니다. 여기에서 다음 구성 요소로 진행할 수 있습니다.

또는 Mixed Reality 플랫폼 기능 및 API로 이동합니다.

언제든지 Unity 개발 검사점으로 돌아갈 수 있습니다.

참고 항목