자기계발

패스트캠퍼스 환급챌린지 17일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기

해달이랑 2025. 4. 17. 01:50

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

 

오늘은 언리얼 엔진에서 Foot IK(Foot Inverse Kinematics) 기능을 학습하는 시간을 가졌다. 이 기능은 캐릭터의 발이 지면과 자연스럽게 닿도록 제어해주는 시스템으로, 게임의 몰입도와 리얼리티를 크게 향상시킬 수 있는 중요한 요소다. 특히 경사진 지형이나 울퉁불퉁한 바닥에서 캐릭터의 발이 공중에 떠 있거나 땅 속에 파묻히지 않도록 하기 위해 꼭 필요한 기능이다. 저번에 예측하기로는 Locomotion4가 붙어 있어서 언리얼 4에서만 사용하는 기능인 줄 알았는데 5에서도 사용하는 강력한 기능이었다.

학습의 첫 단계로, Foot IK가 어떤 원리로 동작하는지 이론부터 정리했다. 핵심은 캐릭터의 발 본(Foot Bone)의 위치를 지면과 충돌 검사(Line Trace)를 통해 측정한 후, 발의 높이와 회전을 조정해주는 것이다. 이를 위해 언리얼의 애니메이션 블루프린트와 캐릭터 블루프린트 양쪽에서 데이터를 주고받는 구조를 구현해야 한다.

처음에는 단순히 발 위치만 맞춰주면 되겠지 싶었지만, 실제 구현에 들어가니 예상보다 복잡한 부분이 많았다. 구현 흐름은 Line Trace를 구성하고 Offset 계산을 한 뒤 IK 보전 애니메이션, 인터폴레이션을 처리했다. 여기까지만 구성하는데 시퀀스를 4번 썼으며 굉장히 다양한 함수를 사용한 것 같다.

이번 강의에서 언리얼 엔진이 정말 얼마나 강력한 기능을 제공하는지 체감을 할 수 있었다. 발 높이를 계산해서 애니메이션을 별도로 제작하지 않아도 스스로 바닥을 검사하고 그 높이에 맞춰서 허리 아래의 모든 애니메이션을 정렬 한다는 것이 정말로 신기했다. 완성된 결과물도 자연스러워서 몰입도를 중요하게 여기거나 플레이어에게 디테일한 요소를 주고 싶을 때 사용하면 좋은 도구인 것 같다.

이번 Foot IK 학습을 바탕으로, 향후에는 캐릭터의 착지 애니메이션과 연동하거나, 슬로프 지형에서의 걷기/달리기 동작과 연결하여 더 자연스러운 캐릭터 움직임을 구현해보고 싶다는 생각이 들었다.

 

https://abit.ly/lisbva

 

Abit.ly 다운받기

 

abit.ly