Deff_Dev
[Unity/C#] TextMeshPro Material 본문
유니티에서 Text UI를 개발할 때, TextMeshPro를 많이 사용한다.
이때, 텍스트의 OutLine,Underlay 등을 설정하고 싶을 때, Material에서 OutLine 등을 설정하게 된다면 모든 해당 폰트를 사용하는 모든 Text가 바뀌게 된다.
왜 그럴까 ?
기본적으로 TextMeshPro의 폰트는 Material를 공유하기 때문에 Material 값이 수정되면 해당 폰트를 쓰는 모든 텍스트들이 변하는 것이다.
그럼 폰트를 복사해서 여러개 만들면 될까 ?
기본적으로 SDF 파일은 한글 범위를 포함할 경우 용량이 크고 무겁기 때문에 게임 성능에 문제를 미칠 수 있다.
(특히 모바일 게임에서는 이 문제를 필수적으로 해결해야한다.)
그렇기 때문에 텍스트의 Material를 인스턴스화하여 Material를 변경하는 방법으로 위 문제를 간단하게 해결할 수 있다.
SDF 파일을 확인해본다면 Material 파일이 존재한다.
이 Material 파일를 Ctrl + D로 복사한 뒤, Material 값을 설정한다.
해당 Material를 적용하고자 하는 Text의 Material Preset을 아까 복사한 Material로 변경한다.
이런식으로 간단하게 원하는 텍스트에만 Material 값을 적용시킬 수있다.
'Unity(유니티) > 유니티 공부' 카테고리의 다른 글
[Unity/C#] RayCast가 벽 뚫는 버그 해결 (0) | 2024.06.07 |
---|---|
[Unity/C#] 3D 문 상호작용 (0) | 2024.06.05 |
[Unity/C#] 법선 벡터 (0) | 2024.05.29 |
[Unity/C#] Generic Singleton (제네릭 싱글톤) (0) | 2024.05.28 |
[Unity/C#] Quaternion.LookRotation() (0) | 2024.05.27 |