update 에서 쓰지 마라는 말.
근데 애초에 가벼우면 써도 되긴 하는데, 어차피 초기화에 캐싱하는거 익숙한 사람들은 해당사항 없음
애초에 반복적으로 find getcomponent 등 특정범위 탐색하는 스타일은 안쓰는게 좋음
난 그래서 a.b.c.speed 이런식도 a.b.c 를 캐싱해버림. 보기도 편할뿐더러, 트리 따라가는것도 많고 반복되면 은근히 리소스 잡아먹음
player
playerMovement
playerState
playerItem
이걸 player.movement 이렇게 접근해도 좋지만
저 넷을 따로 캐싱해서 쓰는게 보기도 좋고 리소스도 절약됨
애초에 getcomponent 사용량 줄이는거 자체가 gpt도 알고있는 유명한 유니티 최적화 기법임.
getcomponent만 최적화 해도 프레임수가 늘어나는 매직
그냥 Update에는 인풋 받는거 말고는 어지간하면 뭐 안집어 넣는게 좋다
액션게임에서는 update 랑 lateupdate 에서 수없이 많은 연산을 해야되는게 문제.. 여기저기서 같은거 일일히 값받아오는것도 최적화 한답시고 매 틱 시작시마다 구조체에 미리 값 다 받아놓고 구조체 참조해서 값 갖다 쓰는 최적화도 필요. 단순한 a-b 같은 연산도 여기저기서 개체별로 수십번씩 따로 받아쓰면 결속이 줄어들긴 하는데 점점 무거워져서 문제