루리코딩 세상

Unreal Engin 5 : 장착된 액터 이동시키기 본문

이론/Unreal Engine

Unreal Engin 5 : 장착된 액터 이동시키기

루리딩 2025. 6. 5. 10:15

노티파이를 활용해서, [캐릭터 블루프린트 클래스]에 장착되어있는 오브젝트 액터를 이동시켜

자연스럽게 무기를 착용하는 모션을 추가해볼 예정이다. 크게 이번 포스팅에서 정리할 내용은 아래와 같다.

 

1. 노티파이 아웃라이너에서 확인하고 추가해주는 방법

2. [블루프린트 클래스] - [AnimNotify] 추가하기

2. 노티파이 오버라이드 설정

 - [Get Notify Name]

 - [Received Notify]

 - [Event Reference]

3. 설정된 변수값 노티파이를 이벤트 그래프 노드에서 추가하는 방법

 

 


Mannequin_Skeleton에서 아웃라이너에 노티파이가 있어야 설정이 가능하다. 해당 설정이 없는 경우 상단의

[창] - [애니메이션 노티파이] 를 클릭하여 추가해주면 된다.

정상적으로 추가된 이후에 작업을 시작하자.

 

 

 


생성하는 노티파이 클래스는

[콘텐츠 브라우저] - [생성] - [블루프린트 클래스] - [모든클래스] - [AnimNotify] 로 생성한다.

 

블루프린트에서 상속받은 애니메이션으로 자동으로 생성시키고 내부에 함수를 호출해준다.

 

 

 

 

 

 

 


본격적으로 [Animnotify]애님 노티파이를 설정해보자

아무런 기능이 없는 노티파이에 재정의할 함수를 불러와주어야한다.

[오버라이드] -> [Get Notify Name]

 

리턴이 되는 정상적인 함수의 모양 비어있는 칸은 노티파이의 이름을 작성해준다.


그리고 돌아간 애니메이션의 확인하면

[노티파이 추가] - [AN_BeginEquip] 으로

정상적으로 추가된 것을 볼 수 있다.

 

 

 

 

 

 

 

 

 


다음은 [Received Notify]를 추가하면 노드에 추가된 Received Notify를 볼 수있다. 각각 기능은 다음과 같다.

Mesh Comp 노티파이가 작동하고 있는 스켈레탈 메시 컴포넌트
메시의 위치, 본래의 정보에 접근한다.
메시가 소속된 액터에 접근 가능
Animation 실행 중인 애니메이션 시퀀스 또는 몽타주
어떤 애니메이션에서 호출되었는지 구분해준다.
특정 애니메이션 이름, 길이 등을 체크 할 수 있다.
Event Reference 참조 구조체로, 노티파이의 메타 정보를 담고 있다.
Notify 이름 추적, ID 식별 등의 기능을 한다.

[블루 프린트 클래스/뷰포트]에서 [Custom Event]로 생성한 [AnimNotify]와 동일한 함수명으로

생성 한 뒤 [AnimNotify]-[Received Notify]에서 함수를 호출해 줄 수 있다.

여기에서 Get Owner는 [Mesh Comp] 에서 호출되는 지금 생성 중인 [BP_Character]에 속해있는

[Mannequin_Skeleton]를 의미한다.

여기까지 설정이 완료되었으면 [BP_Character] 설정되어있는 노드에 따라서, Input 액션을 진행하는 무기를 꺼내는 키를

인식하는 것까지 완료했다. 이제 무기를 실제로 꺼내보자


[스켈레탈] 메시에서 해당하는 부위에

[추가] - [소켓 추가] - [위치 조정] - [메시소켓생성] - [메시할당] 으로 정상적으로 칼을 들고 있는 듯한 모습으로 만들어줬다.

 

 

 


[블루프린트 클래스]의 노드로 돌아와서

[Begin_Equip]로 생성한 커스텀 이벤트에서

[Attach Actor To Componet]에

[Target] - [Sword]

[Parent] - [Mesh]

로 진행해주면 정상적으로 무기를 뽑아드는 모션을 추가가

가능하다.