STUDY/Unity
Unity - 오브젝트 텍스트 TextMeshPro, Color 변수 스크립트에서 선언하고 사용하기(Color, Color32 의 차이)
최디디
2021. 10. 28. 19:23
UI가 아닌 3D 오브젝트에 텍스트를 쓰고 싶다면,
유니티에서 제공하는 TextMeshPro를 사용하면 된다.
UI에서 했던 것처럼 폰트도 바꾸고 정렬도 하고 다 할 수 있다.
using TMPro;
public class Example : MonoBehaviour
{
private TextMeshPro numText;
private void Start()
{
numText = GetComponentInChildren<TextMeshPro>();
}
색상 변경 가능
//색상 변경
private void StateNumChange(bool b)
{
if (b)
numText.color = new Color32(255, 255, 255, 255);
else
numText.color = new Color32(100,100,100,255);
}
사실 numText.color = new Color(100,100,100,255); 변경이 안되서
머리 굴리고 있었는데 Color뒤에 32를 써야한단다.
Color 구조체는 각 24비트까지만 적용이 되어 RGBA값을 표현하고
Color32 구조체는 각 8비트 영역을 해서 더 많은 컬러를 표현 할 수 있는 차이다.
http://digitalnativestudios.com/textmeshpro/docs/ScriptReference/TextMeshPro.html
TextMesh Pro Documentation: