소소한 나의 하루들

유니티 TextMeshPro(TMP) UI 래퍼런스 할당 본문

개발/유니티

유니티 TextMeshPro(TMP) UI 래퍼런스 할당

소소한 나의 하루 2024. 1. 26. 01:57

이전까지만 해도 Text UI를 Legacy버전으로 사용해왔다. 그래서 이것을 스크립트로 public 접근자로 작성하여 컴포넌트에 드래그 적용할 수 있는 방법은 맨 위에 using UnityEngine.UI;를 작성해주고, public Text 변수명;으로 래퍼런스를 할당할 수 있도록 public 접근자와 Text 자료형을(UnityEngine.UI.Text : UnityEngine.UI 속성의 Text 메소드) 사용해주었다.

 

그런데 비교적 최근에는 유니티에서 TextMeshPro(TMP)를 권장하고 있고, 이제는 Text 속성의 UI가 Text - TextMeshPro로 완전히 대체되었다.

따라서 Text로 선언한 UIPoint와 UIStage는 UnityEngine.UI 클래스로서, text 오브젝트만 할당받을 수 있어서 TextMeshPro로 생성한 UI 오브젝트인 Round와 Score가 할당될 수 없었다.

그래서 이제는 using TMPro를 작성함으로서 TMPro라는 클래스를 활용하고, 여기에 속해있는 TextMeshProUGUI 클래스를 public으로 작성해주어야 한다.

TextMeshPro는 안된다.

 

아직 Image UI는 UnityEngine.UI 클래스에 속해있는 Image를 사용하여 할당해야한다.

https://docs.unity3d.com/Packages/com.unity.textmeshpro@3.0/manual/index.html

 

TextMesh Pro User Guide | TextMeshPro | 3.0.7

TextMesh Pro User Guide Overview This User Guide was designed to provide first time users of TextMesh Pro with a basic overview of the features and functionality of the tool. Installation The TextMesh Pro UPM package is already included with the Unity Edit

docs.unity3d.com

이것저것 구글링해가며 찾아가다가 결국 유니티 공식문서를 찾아보고나서야 public 선언한 Text 변수에 왜 TextMeshPro UI가 할당할 수 없었던 원인을 파악할 수 있었다.

 

유니티로 개발공부를 시작하고나서, 처음으로 문제가 발생했을때 유니티 공식문서를 찾아보았는데 생각보다 정리도 잘되어있고 이해하기 어렵지 않았다. 앞으로도 유니티 공식문서를 우선적으로 찾아보는 습관을 길러야겠다.

Comments