Game Develop

[UE5] 몽타주 관련함수 호출순서. 본문

UnrealEngine5/이것저것

[UE5] 몽타주 관련함수 호출순서.

MaxLevel 2024. 6. 14. 18:16

 

천천히 조금씩 업데이트 할 예정. 

 

애님인스턴스의 델리게이트변수중에선 OnMontageStarted와 OnMontageEnded가 있다.

 

말 그대로 몽타주재생 시작할때와 끝날 때 호출시킬 함수를 바인딩 할 수 있는 델리게이트변수이다.

Ended에는 매개변수로 bInterrupted라고 하나 더 있는데, 해당 Ended가 호출된게 몽타주가 끝까지 재생해서 호출된건지, 아니면 몽타주를 재생하는 '중간에' 다른 몽타주재생을 호출해서 강제로 끊긴건지에 대한 여부이다.

bInterrupted가 true이면 강제로 끊겼다는 의미이다.

 

그리고 이렇게 A몽타주를 재생하다가 중간에 B몽타주를 재생했다고 가정해보자.

그러면 A의 Ended가 먼저 호출될까, 아니면 B의 Started가 먼저 호출될까?

정답은 B의 Started가 먼저 호출된다는 것이다.

 

그러니 만약 로직이 생각하는 대로 흘러가지 않는다면, A의 Ended와 B의 Started에 작성한 코드가 반드시 A의 Ended 호출 후, B의 Started를 호출되어지게 작성되어지지 않았는지 확인해보자.

 

참고로 몽타주 해당섹션의 아예 첫프레임에 노티파이까지 심어놨다면, Started 호출 -> 노티파이호출 -> 이전꺼 Ended호출이다.

즉 위 3개에 대해선 일단 무조건 이전에 캔슬됐던 몽타주의 Ended가 가장 나중에 호출된다.