오늘 프로젝트를 진행하는 도중에 애니메이터 트리거를 String으로 파라미터 값을 계속 호출하는 상황이 반복됐다.
하지만 별 생각없이 진행하여 마무리했고 추가로 유니티 강의를 듣고있었다. 그런데 마침 강의에서
String을 호출하는 것은 성능상 좋지 않다고 하여 StringtoHash기능으로 값을 변환하여 사용하고 있었다.
그렇기에 StringtoHash에 대해 알아보고자한다.
StringtoHash란?
Unity에서 Animator와 같은 기능들을 사용할 때 StringtoHash 기능을 사용할 수 있다.
정수 ID를 Hash값으로 미리 캐싱하여 사용하기 때문에 String을 사용할 때의 생길 수 있는
잠재적 오류와 속도문제를 해결해 줄 수 있다.
사용법
Animator에서 공격하는 값을 Attack이라고 설정했다면 미리 Attack이란 String값을
Hash값으로 캐싱하여 반환 후 애니메이터 SetTrigger로 실행한다.
회고
애니메이터를 많이 사용하지 않고 기능이 적은 프로젝트의 경우 굳이 사용할 필요가 없지만
대형 프로젝트에서 다양한 애니메이션이 무수히 실행된다고 생각하면 StringtoHash 기능의
사용은 필수일 것이다. 그렇기에 항상 최적화 기능을 손에 익히는 것이 중요하다고 생각한다.
'TIL > Unity' 카테고리의 다른 글
[Unity] Prefab을 독립적으로 관리하는 법 (0) | 2023.09.27 |
---|---|
[Unity] GameManager로 다른 매니저 모두 관리하기 (0) | 2023.09.26 |
[Unity] 사용자의 입력을 받는 기능 Input Field (0) | 2023.09.22 |
[Unity] 인벤토리 UI를 쉽게 만들어주는 Grid Layout (0) | 2023.09.21 |
[Unity] 부모의 Awake, Start, Update 호출하기 (override) (0) | 2023.09.19 |