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:
'STUDY > Unity' 카테고리의 다른 글
Unity - 저장 불러오기 PlayerPrefs와 Json DB (JsonUtility) (0) | 2021.10.28 |
---|---|
Unity - 정보의 은닉화 C# 프로퍼티(Property) (0) | 2021.10.28 |
Unity - AI Navigation Agent 플레이어 쫓아가기, 공포게임 (0) | 2021.10.28 |
Unity - 다른 스크립트 함수, 변수를 불러올때 (디자인 패턴 싱글톤) (0) | 2021.10.28 |
Unity - 구글 플레이 개발자 콘솔 Sha-1 인증서 확인, Play 게임 로그인 실패 + 파이어베이스 (0) | 2021.10.28 |