인프런 커뮤니티 질문&답변
Tick 컴포넌트에서 락온 함수
작성
·
25
0
Tick 쪽에서 락온함수를 지속적으로 추적하는것이 효율적인걸까요?
타이머를 따로 빼서 관리하는건 어떤가요?
답변 2
1
Spector
지식공유자
안녕하세요~
Timer 함수는 프레임과 상관없이 일정 주기로 실행되는 로직에 적합합니다.
예를 들어 1초마다 체력이 회복되거나 감소하는 로직이나, 0.5초마다 스킬 쿨타임을 체크하는 등의 경우를 들 수 있습니다.
반면 LockOn 같은 기능은 매 프레임 즉각적으로 반응해야 하는 로직이기 때문에, Timer 함수로 구현하는 것은 적합하지 않습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 칼엘_S님.
언리얼 엔진에서 특정 기능을 지속적으로 확인하거나 업데이트해야 할 때는 여러 가지 방법이 있습니다. 그 중에서 Tick 함수와 Timer는 대표적인 방법입니다. 각각의 장단점을 살펴보면 다음과 같습니다:
Tick 함수 사용
- 장점: 매 프레임마다 업데이트가 필요할 때 사용하기에 적합합니다. 캐릭터의 상태나 위치 변경, 실시간으로 반응해야 하는 경우에 주로 사용됩니다.
- 단점: 각 Tick에서 과도한 연산이 이루어지면 성능에 부담을 줄 수 있습니다. 따라서, Tick 내의 연산은 가능한 최소화해야 합니다.
Timer 사용
- 장점: 지정된 시간 간격으로 이벤트를 발생시킬 수 있기 때문에, 매 프레임마다 업데이트할 필요가 없는 경우에 유용합니다. 특정 간격으로 상태를 체크하거나, 반복적인 작업을 수행할 때 적합합니다.
- 단점: 초당 프레임(Tick)보다 낮은 빈도로 업데이트되기 때문에, 실시간 반응이 중요한 경우에는 부적합할 수 있습니다.
추천 방향
- LockOn 기능: LockOn과 같이 적의 위치를 지속적으로 추적하여 즉각적인 대응이 필요하다면, Tick 함수에서 관리하는 것이 실시간 반응면에서 더 적합할 수 있습니다. 하지만, 이를 최적화하기 위해 필요한 최소한의 연산으로 제한하는 것이 중요합니다.
- Timer 기능: 랙이 많은 또는 느슨한 업데이트가 가능한 기능에 대해서는 Timer를 사용하는 것이 좋습니다.
관련 유사한 질문에 대한 추가 학습 자료를 찾았습니다:
- CombatComponent, Weapon 참조
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




