Contents
접기
728x90
기본 개념
게임 개발에서 Update()는 매 프레임 실행되기 때문에 캐싱과 최소화가 핵심이다.
캐싱이란?
- transform, GetComponent<T>() 같은 값은 매번 접근하면 비용이 큼
- 한 번 가져와서 변수에 저장(캐싱)해두면 성능이 좋아짐
private Transform playerTransform;
private float moveSpeed;
public PlayerMoveState(Player player) {
playerTransform = player.transform; // 캐싱
moveSpeed = player.MoveSpeed; // 캐싱
}
코루틴으로 Update 줄이기
타이머나 반복 동작은 꼭 Update()에 둘 필요가 없다.
코루틴(Coroutine)을 쓰면 Update를 훨씬 가볍게 유지할 수 있다.
private IEnumerator AttackLoop() {
while (true) {
Attack();
yield return new WaitForSeconds(2f); // 2초마다 공격
}
}
728x90
'GameDevelop > Unity기초쌓기' 카테고리의 다른 글
Unity FSM 구조 – 방치형 RPG에 맞게 단순화 (0) | 2025.06.08 |
---|---|
Unity 3D 방치형 RPG – 코어 구조 정리 (0) | 2025.06.05 |
OnDrawGizmos를 이용해 범위 시각화하기 (0) | 2025.05.29 |
Unity GetComponent<Renderer>() 간단 정리 (0) | 2025.05.28 |
Unity FSM: 왜 bool 대신 Func<bool>을 쓸까? (0) | 2025.05.27 |