본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 c++ AnimNotifyState

by MRG 2024. 6. 19.
728x90
반응형

 

 

 

▣ c++ AnimNotifyState를 생성합니다. 

그리고 3개의 함수를 선언합니다. 

 

virtual void NotifyBegin(USkeletalMeshComponent * MeshComp, UAnimSequenceBase * Animation, float TotalDuration) override;

virtual void NotifyTick(USkeletalMeshComponent * MeshComp, UAnimSequenceBase * Animation, float FrameDeltaTime) override;

virtual void NotifyEnd(USkeletalMeshComponent * MeshComp, UAnimSequenceBase * Animation) override;

 

▣ NotifyBegin() 은 노티파이 스테이트가 시작될 때 호출하는 함수

▣ NotifyTick() 은 NotifyBegin() 이 불린 이후부터 NotifyEnd()가 불리기 전까지 틱 간격으로 호출하는 함수

▣ NotifyEnd()는 노티파이 스테이트 구간이 끝날 때 호출하는 함수

 

▣ TotalDuration는 Begin부터 End까지 걸리는 시간이 TotalDuration에 저장됩니다.

 

 

 

▣ 애니메이션에서 AnimNotifyState를 추가하고 애니메이션을 실행하면 함수상태에 따라 호출되는 걸 확인할 수 있습니다. 

 

 

▣ 함수에 매개변수 MeshComp를 사용할 때에는 조건문을 넣어줘야 합니다.

그렇지 않으면 Null인 상태에서 사용하게 되고 언리얼이 Crash가 나게 됩니다. 

그리고 MeshComp에 Animinstace를 캐스팅할 때에도 조건문으로 조건을 확인 후 사용하는 예외처리 코드를 꼭 추가해야 합니다. 

 

https://docs.unrealengine.com/4.27/ko/AnimatingObjects/SkeletalMeshAnimation/Sequences/Notifies/

 

애니메이션 노티파이

Notify, 노티파이는 애니메이션 시퀀스에서 이벤트를 구성하고 받아 외부 동작을 수행하는 알림 시스템입니다.

docs.unrealengine.com

 

728x90
반응형

댓글