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: