언리얼 블루프린트(6) Socket

민혁 공부방·2024년 10월 20일

언리얼 엔진에서 Skeletal Mesh와 Socket를 활용하면 플레이어가 무기를 자연스럽게 쥐도록 구현할 수 있다.
그러기 위해서는
Skeletal Mesh와 Socket이 무엇인지 알아야한다.
현재 캐릭터는 무기를 탈착한 상태에서 움직임과, 무기를 장착한 상태에서 움직임이 다르다.
Skeletal Mesh는 오브젝트의 빼대와 함께 애니메이션을 할 수 있는 모델로서 플레이어가 쥐고 있는 무기로 들어가며,
Socket은 Skeletal Mesh의 특정부분에 무기같은 것들이 들어갈 수 있는 지점을 말한다.

BP_Sword 클래스 생성 (Actor로 들어감)

마찬가지로, 해당 클래스에 들어가서
Mesh에 들어가서 위치, 방향을 맞춰준다.

[스켈레톤 트리]
Skeletal Mesh에다가 Socket을 생성할 것이다.

무기를 쥐어주려고 하는 위치에 Socket추가

출처 : https://wookeee.tistory.com/entry/UE4-Skeletal-Mesh-Socket-%EB%AC%B4%EA%B8%B0-%EC%9E%A5%EC%B0%A9


그 후, 추가한 소켓에 '프리뷰 에셋 추가'를 통해 Socket의 위치와 회전정보를 조절해준다.


Begin_Equip - (Sword에 추가할) AN(Animation Notifiy State)에서 Received Notify에 전달.
-> AttachActorToComponent 노드를 통해서 타깃은 Skeletal Mesh의 Sword이며, Socket(장착 위치)의 Name은 지정해줬던 'Hand_Sword'이다.
이렇게 무기 장착시작이 되며,
Equip 노드가 불려오는 과정은 Animation Notify가 아닌, 입력 액션으로 불려오기 때문에, 동작되는 방식은 다르다.

이부분도 마찬가지이다.

profile
한번 더 복습하기 위한 개인 공간입니다!

0개의 댓글