Unity의 텍스트Text in Unity

텍스트는 holographic apps에서 가장 중요 한 구성 요소 중 하나입니다.Text is one of the most important components in holographic apps. Unity에 텍스트를 표시 하기 위해 사용할 수 있는 텍스트 구성 요소에는 UI 텍스트, 3D 텍스트 메시 및 텍스트 메시 Pro의 세 가지 유형이 있습니다.To display text in Unity, there are three types of text components you can use—UI Text, 3D Text Mesh, and Text Mesh Pro. 기본적으로 UI 텍스트 및 3D 텍스트 메시는 흐리게 표시 되며 너무 깁니다.By default, UI Text and 3D Text Mesh appear blurry and are too large. 몇 가지 변수를 변경 하면 HoloLens에서 크기를 관리 하는 더 선명한 텍스트가 생성 됩니다.Changing a few variables results in sharper, higher-quality text with a manageable size in HoloLens. UI 텍스트 및 3D 텍스트 메시 구성 요소를 사용할 때 적절 한 크기를 얻기 위해 크기 조정 요소를 적용 하 여 렌더링 품질을 향상 시킬 수 있습니다.You can achieve better rendering quality by applying a scaling factor to get proper dimensions when using the UI Text and 3D Text Mesh components.

선명 하 고 멋진 텍스트를 얻는 방법How to get sharp and beautiful text
Unity의 흐린 기본 텍스트Blurry default text in Unity

Unity의 3D 텍스트 (텍스트 메시) 및 UI 텍스트 작업Working with Unity's 3D Text (Text Mesh) and UI Text

Unity는 장면에 추가 된 모든 새 요소가 단일 Unity 단위 (크기) 또는 100% 변형 배율 이라고 가정 합니다.Unity assumes all new elements added to a scene are one Unity Unit in size, or 100% transform scale. 하나의 Unity 단위는 HoloLens에서 약 1 미터로 변환 됩니다.One Unity unit translates to about 1 meter on HoloLens. 글꼴의 경우 3D TextMesh의 경계 상자는 기본적으로 높이 (약 1 미터)로 제공 됩니다.For fonts, the bounding box for a 3D TextMesh comes in by default at about 1 meter in height.

Unity에서 글꼴 작업Working with Fonts in Unity
기본 Unity 3D 텍스트 (텍스트 메시)는 1 미터의 Unity 단위 하나를 차지 합니다.Default Unity 3D Text (Text Mesh) occupies one Unity Unit, which is 1 meter


대부분의 비주얼 디자이너는 요소를 사용 하 여 실제 세계의 글꼴 크기를 정의 합니다.Most visual designers use points to define font sizes in the real world. 1 미터에 약 2835 (2, 834.645666399962) 점이 있습니다.There are about 2835 (2,834.645666399962) points in 1 meter. 1 미터에 대 한 시점 시스템 변환과 Unity의 기본 텍스트 메시 글꼴 크기 13을 기반으로 하는 간단한 수학 13은 0.0046 2835 (정확 하 게 0.004586111116)로 시작 하는 데 적합 한 표준 배율을 제공 합니다 (일부는 0.005로 반올림).Based on the point system conversion to 1 meter and Unity's default Text Mesh font size of 13, the simple math of 13 divided by 2835 equals 0.0046 (0.004586111116 to be exact) which provides a good standard scale to start with (some may wish to round to 0.005). 텍스트 개체 또는 컨테이너를 이러한 값으로 크기를 조정 하면 디자인 프로그램에서 글꼴 크기를 1:1으로 변환할 수 있을 뿐만 아니라 사용자 환경 전체에서 일관성을 유지할 수 있도록 표준도 제공 됩니다.Scaling the text object or container to these values will not only allow for the 1:1 conversion of font sizes in a design program, but also provides a standard so you can maintain consistency throughout your experience.

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


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


장면에 UI 또는 캔버스 기반 텍스트 요소를 추가 하는 경우 크기 차이가 크기가 더 커집니다.When adding a UI or canvas-based text element to a scene, the size disparity is greater still. 두 크기의 차이점은 약 1000% 이며,이는 UI 기반 텍스트 구성 요소에 대 한 배율 인수를 0.00046 (정확 하 게 0.0004586111116) 또는 0.0005 (반올림 된 값)로 가져오는 것입니다.The differences in the two sizes are about 1000%, which would bring the scale factor for UI-based text components to 0.00046 (0.0004586111116 to be exact) or 0.0005 for the rounded value.

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


참고

글꼴의 기본값은 해당 글꼴의 질감 크기 또는 해당 글꼴을 Unity로 가져온 방법의 영향을 받을 수 있습니다.The default value of any font may be affected by the texture size of that font or how the font was imported into Unity. 이러한 테스트는 Unity의 기본 Arial 글꼴 및 가져온 다른 글꼴을 기반으로 수행 되었습니다.These tests were performed based on the default Arial font in Unity, as well as one other imported font.

텍스트 메시 Pro 작업Working with Text Mesh Pro

Unity의 텍스트 메시 Pro를 사용 하 여 텍스트 렌더링 품질을 보호할 수 있습니다.With Unity's Text Mesh Pro, you can secure the text rendering quality. 이는 사인 된 거리 필드 (.sdf) 기법을 사용 하는 거리에 관계 없이 선명한 텍스트 윤곽선을 지원 합니다.It supports crisp text outlines regardless of the distance using the Signed Distance Field (SDF) technique. 3D 텍스트 메시 및 UI 텍스트에 대해 위에서 사용한 것과 동일한 계산 방법을 사용 하 여 기존 입력 점에 사용할 적절 한 크기 조정 값을 찾을 수 있습니다.Using the same calculation method that we used above for the 3D Text Mesh and UI Text, we can find the proper scaling values to use with conventional typographic points. 크기가 36 인 기본 3D 텍스트 메시 Pro 글꼴의 경계 크기는 2.5 Unity 단위 (2.5 m) 이므로 크기 조정 0.005 값을 사용 하 여 포인트 크기를 가져올 수 있습니다.Since the default 3D Text Mesh Pro font with the size of 36 has a bounding size of 2.5 Unity units (2.5 m), we can use a scaling value of 0.005 to get the point size. UI 메뉴 아래의 텍스트 메시 Pro는 기본 경계 크기인 25 개 Unity 단위 (25 m)를 갖습니다.The Text Mesh Pro under the UI menu has a default bounding size of 25 Unity units (25 m). 크기 조정 값에 대해 0.0005을 제공 합니다.This gives us 0.0005 for the scaling value.

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

짐작할 수 있듯이, PC 또는 태블릿 장치에서 사용 하는 형식 크기 (일반적으로 12 – 32pt 사이)는 2 미터 거리에서 작은 모습을 보입니다.As you can expect, type sizes that we use on a PC or a tablet device (typically between 12–32pt) look small at a distance of 2 meters. 각 글꼴의 특성에 따라 달라 지지만 일반적으로 권장 되는 최소 보기 각도와 가독성을 위한 글꼴 높이는 사용자 연구 연구를 기반으로 하는 0.35 °-0.4 °/12.21-13.97 mm 주위에 있습니다.It depends on the characteristics of each font, but in general the recommended minimum viewing angle and the font height for legibility are around 0.35°-0.4°/12.21-13.97 mm based on our user research studies. 위에서 소개한 크기 조정 인수를 사용 하는 약 35-40 pt입니다.It's about 35-40 pt with the scaling factor introduced above.

0.45 m (45 cm)에서 거의 상호 작용 하는 경우에는 최소한의 읽기 쉬운 글꼴 보기 각도와 높이가 0.4 °-0.5 °/3.14 – 3.9 mm입니다.For the near interaction at 0.45 m (45 cm), the minimum legible font's viewing angle and the height are 0.4°-0.5° / 3.14–3.9mm. 위에서 소개한 크기 조정 인수를 사용 하는 약 9-12 pt입니다.It's about 9-12 pt with the scaling factor introduced above.

근거리 및 원거리 상호 작용 범위 콘텐츠 (근거리 및 원거리 상호 작용 범위)Near and far interaction range Content at near and far interaction range

읽을 때 최소 글꼴 크기The minimum legible font size

거리Distance 시야각Viewing angle 텍스트 높이Text height 글꼴 크기Font size
45 cm (직접 조작 거리)45 cm (direct manipulation distance) 0.4 °-0.5 °0.4°-0.5° 3.14 – 3.9 mm3.14–3.9mm 8.9 – 11.13 pt8.9–11.13pt
2 m2 m 0.35 °-0.4 °0.35°-0.4° 12.21 – 13.97 mm12.21–13.97mm 34.63-39.58 pt34.63-39.58 pt

편안 하 게 읽을 때의 글꼴 크기The comfortably legible font size

거리Distance 시야각Viewing angle 텍스트 높이Text height 글꼴 크기Font size
45 cm (직접 조작 거리)45 cm (direct manipulation distance) 0.65 °-0.8 °0.65°-0.8° 5.1-6.3 mm5.1-6.3 mm 14.47-17.8 pt14.47-17.8 pt
2 m2 m 0.6 °-0.75 °0.6°-0.75° 20.9-26.2 mm20.9-26.2 mm 59.4-74.2 pt59.4-74.2 pt

맑은 고딕 (Windows의 기본 글꼴)은 대부분의 경우 잘 작동 합니다.Segoe UI (the default font for Windows) works well in most cases. 그러나 밝은 수직선을 진동 하 고 가독성을 저하 시킬 수 있으므로 작은 크기로 밝은 색 또는 반투명 글꼴 패밀리를 사용 하지 마십시오.However, avoid using light or semi light font families in small size since thin vertical strokes will vibrate and it will degrade the legibility. 스트로크 두께가 충분 한 최신 글꼴이 제대로 작동 합니다.Modern fonts with enough stroke thickness work well. 예를 들어 Helvetica 및 Arial은 멋진 하 고 일반 또는 굵게 가중치를 사용 하 여 HoloLens에서 읽을 수 있습니다.For example, Helvetica and Arial look gorgeous and are legible in HoloLens with regular or bold weights.

각도 보기 거리, 각도 및 텍스트 높이 보기Viewing Angle Viewing distance, angle, and text height

Mixed Reality Toolkit v 2를 사용 하는 텍스트Text with Mixed Reality Toolkit v2

적절 한 차원의 선명한 텍스트 렌더링 품질Sharp text rendering quality with proper dimension

이러한 크기 조정 요소에 따라 UI 텍스트 및 3D 텍스트 메시를 사용 하 여 텍스트 prefabs를 만들었습니다.Based on these scaling factors, we have created text prefabs with UI Text and 3D Text Mesh. 개발자는 이러한 prefabs를 사용 하 여 선명한 텍스트와 일관 된 글꼴 크기를 가져올 수 있습니다.Developers can use these prefabs to get sharp text and consistent font size.

적절 한 차원의 선명한 텍스트 렌더링 품질Sharp text rendering quality with proper dimension
적절 한 차원의 선명한 텍스트 렌더링 품질Sharp text rendering quality with proper dimension

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

Unity의 기본 글꼴 재질은 폐색를 지원 하지 않습니다.Unity's default font material doesn't support occlusion. 이로 인해 기본적으로 개체 뒤에 텍스트가 표시 됩니다.Because of this, you'll see the text behind the objects by default. 폐색를 지 원하는 간단한 셰이더를 포함 했습니다.We've included a simple shader that supports the occlusion. 아래 이미지는 기본 글꼴 재질 (왼쪽) 및 적절 한 폐색 (오른쪽) 텍스트가 포함 된 텍스트를 보여 줍니다.The image below shows the text with default font material (left) and the text with proper occlusion (right).

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

다음 개발 검사점Next Development Checkpoint

앞서 소개한 Unity 개발 경험을 팔로 사용할 경우 MRTK 핵심 빌딩 블록을 탐색 하는 것이 좋습니다.If you're following the Unity development journey we've laid out, you're in the midst of exploring the MRTK core building blocks. 여기에서 다음 구성 요소를 계속 진행할 수 있습니다.From here, you can continue to the next building block:

또는 Mixed Reality 플랫폼 기능 및 API로 이동합니다.Or jump to Mixed Reality platform capabilities and APIs:

언제든지 Unity 개발 검사점으로 돌아갈 수 있습니다.You can always go back to the Unity development checkpoints at any time.

참고 항목See also