Deff_Dev

[Unity/C#] TextMeshPro Material 본문

Unity(유니티)/유니티 공부

[Unity/C#] TextMeshPro Material

Deff_a 2024. 5. 30. 23:56

 

유니티에서 Text UI를 개발할 때, TextMeshPro를 많이 사용한다.

 

이때, 텍스트의 OutLine,Underlay 등을 설정하고 싶을 때, Material에서 OutLine 등을 설정하게 된다면 모든 해당 폰트를 사용하는 모든 Text가 바뀌게 된다.

 

 

왜 그럴까 ?

 

기본적으로 TextMeshPro의 폰트는 Material를 공유하기 때문에 Material 값이 수정되면 해당 폰트를 쓰는 모든 텍스트들이 변하는 것이다.

 

 

그럼 폰트를 복사해서 여러개 만들면 될까 ?

 

기본적으로 SDF 파일은 한글 범위를 포함할 경우 용량이 크고 무겁기 때문에 게임 성능에 문제를 미칠 수 있다.

(특히 모바일 게임에서는 이 문제를 필수적으로 해결해야한다.)

 

그렇기 때문에 텍스트의 Material를 인스턴스화하여 Material를 변경하는 방법으로 위 문제를 간단하게 해결할 수 있다.


 

SDF 파일을 확인해본다면 Material 파일이 존재한다.

 

 

Material 파일를 Ctrl + D로 복사한 뒤, Material 값을 설정한다.

 

해당 Material를 적용하고자 하는 TextMaterial Preset을 아까 복사한 Material로 변경한다.

 

이런식으로 간단하게 원하는 텍스트에만 Material 값을 적용시킬 수있다.