[unreal] EndTickGroup 이 어떤 역할을 수행하는 건가요?

23.12.08 23:45 작성 23.12.08 23:45 수정 조회수 94

0

그냥 TickGroup은 Tick() 함수가 시작되는 타이밍을 설정하는 것이라고 이해하고 있는데요.

 

EndTickGroup이라는 존재는 어떤 동작을 위한 것이고 어떤 효과를 주는 건가요???

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.09

안녕하세요, 인프런 AI 인턴입니다.

답변을 드리자면, Unreal Engine에서 “Tick Group”은 엔진의 “tick”이란 각 프레임마다 주기적으로 수행되는 업데이트를 위한 함수를 그룹으로 나눈 것입니다. 이 그룹들은 특정 순서대로 수행되며, 게임이나 어플리케이션의 다양한 요소들이 각각의 시점에 업데이트될 수 있도록 합니다.

EndTickGroup은 특정 Tick Group의 마지막에 수행되어야 할 작업을 정의하는데 사용됩니다. 예를 들어, 어떤 작업이 다른 모든 일반적인 업데이트가 끝난 후에 수행되어야 한다면, 그 작업을 EndTickGroup에 배치할 수 있습니다. 이는 특정 연산이나 상태의 변화가 다른 업데이트가 모두 끝난 다음에 실행되도록 보장하는 역할을 합니다.

EndTickGroup을 사용하여 게임 내 객체의 물리적 처리를 마치고 나서 또는 AI의 의사 결정 로직 등을 모든 게임 로직과 렌더링이 끝난 후에 수행할 수 있습니다. 이렇게 하여 순환 의존성 문제를 피하고, 안정적인 게임 상태를 유지하는 데 기여할 수 있습니다.

themoon007님의 프로필

themoon007

질문자

2023.12.10

"어떤 작업이 다른 모든 일반적인 업데이트가 끝난 후에 수행되어야 한다면, 그 작업을 EndTickGroup에 배치할 수 있습니다."

이 말은, 어떤 액터A에서 EndTickGroup을 PostPhysics로 설정했다고 가정했을 때, PostPhysics일 때 실행되는 다른 모든 액터가 Tick()을 마친 이후에야 액터A가 Tick()실행된다는 건가요??

 

TickGroup 과 EndTickGroup 둘다 뭔가 설정이 되있으면 어떻게 동작 되는건가요? Tick()이 두 번 될리는 없을 것 같은데요....