언리얼 - C++ 프로젝트

OpenWorldRpg (5) 애니메이션 리타깃 및 무기 장착

earth-star 2025. 4. 24. 18:09

여러 애니메이션 소스를 구해 언리얼에 있는 캐릭터에 적용시키는 리타깃과 무기에 다가가면 오버랩되면서 캐릭터가 무기를 장착하는 이벤트를 C++로 구현해볼 것이다.

Fap에서 간단한 에셋을 구해 Weapon에 넣어주었다.

캐릭터의 스켈레톤에서 오른손에 소켓을 추가하고 RightHandSocket이라 이름붙였다.

 

소켓에 앞서 만든 Weapon을 넣어주고 위치를 조정하여 손에 든 모션으로 바꾸어준다.

무료 애니메이션 소스를 구할 수 있는 Maximo 사이트이다.

 

사이트에서 제공하는 기본 캐릭터인 xBot을 다운받고 애니메이션도 다운받는다.

애니메이션을 기존의 캐릭터에 적용시키려면 양쪽의 스켈레톤에서 부분들을 전부 수작업으로 등록하여 리타겟하는 방법이 원래의 방식이었다.

 

하지만 언리얼 5.4부터 자동 리타겟을 제공하고 있으므로 이를 사용하면 매우 간단하게 적용가능하다.

 

적용할 애니메이션에서 오른쪽 클릭을하여 애니메이션 리타겟을 누르면 위와같이 리타켓 창이 뜨는데 타깃 스켈레탈 메시를 적용시킬 캐릭터를 선택하고 익스포트만 하면 간단히 캐릭터의 애니메이션이 완성된다.

위와 같이 칼을 휘두르는 애니메이션이 간단히 만들어진다.

위와 같이 블루프린트에서 무기의 Sphere에 오버랩하면 Attach Component To Component 함수를 이용하여 무기를 캐릭터에 부착할 수 있다.

 

이를 C++로 적용시켜볼 것이다.

전에 만들었던 오버랩 이벤트에서 위와 같이 추가해 주면 된다.

 

블프와 마찬가지로 AttachToComponent를 이용하면 간단하다.

무기와 오버랩시 무기 장착이 잘 적용된것을 볼 수 있다.