[Unity] 유니티에서 Text를 쓸 때 주의해야할 점! TextMeshPro

2024. 11. 7. 18:51·Unity

TextMeshPro는 Unity에서 고품질의 텍스트 렌더링을 제공하는 강력한 도구입니다. TextMeshPro를 사용하기 위해 필요한 라이브러리 임포트와 컴포넌트 선언 시 주의할 점을 아래와 같이 정리했습니다.

 

그냥 Text는 이제 레거시이고 이젠 다 TextMeshPro를 import해서 쓰라고 아예 유니티엔진에서 말해줍니다.

 

1. TextMeshPro 사용 시 필요한 import 문

TextMeshPro를 스크립트에서 사용하려면 TMPro 네임스페이스를 import해야 합니다. 이를 위해 코드의 최상단에 다음 코드를 추가합니다:

using TMPro;

이 구문을 통해 TextMeshPro의 클래스와 메서드에 접근할 수 있습니다.

2. TextMeshPro 선언 시 주의할 점

  • TextMeshPro 컴포넌트: Unity 에디터에서 TextMeshPro 또는 TextMeshProUGUI 컴포넌트를 게임 오브젝트에 추가해야 합니다. 3D 텍스트의 경우 TextMeshPro를 사용하고, UI 텍스트의 경우 TextMeshProUGUI를 사용해야 합니다.
  • 컴포넌트 연결: 스크립트에서 TextMeshPro 객체를 다룰 때는 해당 컴포넌트를 참조하는 변수를 선언하고 적절히 연결해야 합니다. public 변수로 선언하거나 GetComponent<>() 메서드를 통해 가져올 수 있습니다.

코드 예시

다음은 Unity UI 텍스트 요소에서 TextMeshProUGUI 컴포넌트를 사용하는 코드 예시입니다:

using UnityEngine;
using TMPro;

public class ExampleScript : MonoBehaviour
{
    // TextMeshProUGUI 컴포넌트를 참조하기 위한 변수
    public TextMeshProUGUI textComponent;

    void Start()
    {
        // 컴포넌트를 수동으로 연결하지 않았을 경우, GetComponent를 통해 가져오기
        if (textComponent == null)
        {
            textComponent = GetComponent<TextMeshProUGUI>();
        }

        // 텍스트 변경
        textComponent.text = "Hello, World!";
    }
}

 

주의사항

  • 변수 타입 확인: TextMeshPro는 3D 텍스트용이며, TextMeshProUGUI는 UI 요소용입니다. UI 텍스트를 다룰 때는 반드시 TextMeshProUGUI를 사용해야 합니다. *********
  • 참조할 컴포넌트: TextMeshProUGUI 컴포넌트를 참조할 때, 해당 컴포넌트가 올바른 GameObject에 붙어 있는지 확인해야 합니다. 그렇지 않으면 NullReferenceException이 발생할 수 있습니다.
  • 패키지 설치 확인: TextMeshPro는 Unity 패키지로 포함되어 있으며, 프로젝트에 설치되어 있어야 합니다. 필요할 경우 Window > Package Manager에서 TextMeshPro 패키지를 설치하세요.

마무리

TextMeshPro는 Unity에서 텍스트 렌더링 품질을 높이기 위한 필수적인 도구입니다. 올바르게 사용하기 위해서는 import 구문 추가, 변수 타입 확인, 컴포넌트 참조 방법 등을 숙지해야 합니다. 위 내용을 참고하여 TextMeshPro를 프로젝트에 적용해보세요!

'Unity' 카테고리의 다른 글

[Unity] 우리가 보는 2D 스크린, 그런데 왜 게임 화면은 3D처럼 원근감 있게 보일까?  (1) 2024.11.12
[Unity] Layer을 이용해 충돌을 따로 관리하자 (귀찮게 bool값 설정이 불필요해진다!)  (1) 2024.11.09
[Unity] 3D에서 UI를 만들 때 꼭 알아야하는 필수 컴포넌트 RectTransform!  (1) 2024.11.07
[Unity] 유니티 코루틴(Coroutine) 깊고 간결하게 정리!  (2) 2024.11.06
[Unity] Scale의 비밀 부모-자식 관계의 스케일 상속은 각 계층에서 곱셈 방식으로 적용  (0) 2024.11.06
'Unity' 카테고리의 다른 글
  • [Unity] 우리가 보는 2D 스크린, 그런데 왜 게임 화면은 3D처럼 원근감 있게 보일까?
  • [Unity] Layer을 이용해 충돌을 따로 관리하자 (귀찮게 bool값 설정이 불필요해진다!)
  • [Unity] 3D에서 UI를 만들 때 꼭 알아야하는 필수 컴포넌트 RectTransform!
  • [Unity] 유니티 코루틴(Coroutine) 깊고 간결하게 정리!
개발준입니다
개발준입니다
백문이 불여일타
  • 개발준입니다
    Re:제로부터 시작하는 개발이야기
    개발준입니다
  • 전체
    오늘
    어제
    • All (32)
      • Java & Kotlin (3)
      • Spring (0)
      • DataBase (0)
      • Git & Github (1)
      • Baekjoon (8)
      • C & C++ & C# (5)
      • Unity (12)
      • DesignPattern (3)
      • SmallTalk (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    state pattern
    티스토리챌린지
    개발자
    디자인패턴
    오블완
    레벨 디자인
    가중치 비교
    매서드
    유니티
    자바
    백준
    알고리즘 #코테
    게임개발
    코테
    리스너 패턴
    c#
    코딩
    github
    개발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
개발준입니다
[Unity] 유니티에서 Text를 쓸 때 주의해야할 점! TextMeshPro
상단으로

티스토리툴바