728x90

토글을 텍스트 너비에 맞게 width 사이즈를 조정하기위해

토글 텍스트 TMP_Text 컴포넌트를 가져오는데 그냥 가져오면 텍스트가 반영 되지않는 상태라 -4.~E 라는 쓰레기 값이 나온다

그렇기때문에 ForceMeshUpdate() 를 사용해서 변경사항을 즉시 업데이트 할수 있는데 이 메서드는 bool ignoreActiveState = false, bool forceTextReparsing = false 두개의 파라미터를 받지만 어찌된 영문인지 동작하지 않았다

이게 TMP_Text의 버전 문제 때문인지.. 서치해보니

TextMesh Pro ForceMeshUpdate(true) not working when object inactive - Unity Engine - Unity Discussions

 

 

부모오브젝트가 비활성화인 경우 ForceMeshUpdate()의 어느것도 먹히지 않는다는 것이다 

실제로 활성화 상태에서는 renderedWidth가 정상적으로 나오는것을 확인했다

하지만 이 오브젝트라는것이 항상 활성화 상태 일수 없지 않은가..

그렇기때문에 onEnable로 토글레이아웃 세팅할수 있게 걸어놨다. 한번만 그리도록 플래그 걸어놓고

 
 

 

 

728x90
Posted by 바르마스
,