Ad Block 한번만 꺼주시면 안될까요..?
게임 개발/Unreal Engine 5

Unreal Engine 5) 언리얼 비행하는(나는) 플레이어 만들기 (fly)

UniCoti(유니코티) 2023. 4. 2.

이번글에선 언리얼에서 캐릭터를 날게 해주는

블루 프린트를 소개해보도록 하겠다.

 

언제부터인가 게임에서 날고 싶다고 생각해 왔기 때문에

이 글에 이른 게 아닐까 싶은데, 최종 목표는 애니메이션까지

적용해서 자연스럽게 날고, 아이언맨의 리펄서 빔까지 구현하는 것이다.

아무튼 시작.

 

https://alpaca-code.tistory.com/168 (힘을 가하기)

 

Unreal Engine 5) 물리적으로 움직이게 하기. (힘 가하기) (Add Force)

이번엔 언리얼에서 물체에 물리적으로 힘을 주는 방법을 알아보도록 하겠다. 참고로 이 글은 Blue print를 사용하며, 유니티 개발자로서 말하자면 유니티의 함수인 AddForce(이름까지 같음)과 거의

alpaca-code.tistory.com

 

처음에는 힘을 위로 가해서 날려 시도했는데 이건 방법이 잘못된 것 같다.

그래서 다른 방법을 찾아보게 되었다. 찾은 방법은 아래의 글과 같다.

아무튼 진짜 시작.


1. 블루 프린트 생성.

이 글은 블루프린트를 기준으로 쓰였기에

노드를 연결할 블루프린트가 필요하다.

나는 기본적인 캐릭터를 제공하는

Third Person 템플릿을 사용했다.

 

블루 프린트를 만들었다면, 열어서

Event Graph에 들어가 주면 된다.


2. 본격 날기 세팅

날기 위해서는, 먼저 Set Movement Mode라는

노드를 사용한다. 이 노드는 기본적으로,

날기 외에도 수영 등 다양한 동작을 기본적으로 제공한다.

 

이 글에선 마우스 오른쪽 버튼을 눌렀을 때 날게 해 주었다.

이렇게 키를 눌렀을 때는 날기, 떼었을 때는 떨어지기 모드로 전환하면 된다.

참고로 Input Action JetPack은 어떠한 함수가 아니라

인풋을 매핑한 것이다.

 

https://alpaca-code.tistory.com/162(매핑하는 법)

 

Unreal Engine 5) Input을 사용하여 사용자 입력받기(Blue print)

사실 이전 글에 쓸려했다가 까먹어서 새 글로 남긴다. 이전글에 나와있어서 간략화하는 내용이 어느 정도 있을 것 같다. 이전 글 링크 달아놓으니 뭔가 안 되는 사람은 보길 바란다. https://alpaca-c

alpaca-code.tistory.com

 

이러면 이제 공중에 떠있을 수 있게 되는데,

위로 올라가는 기능은 구현되지 않았다.

이러한 노드를 통해서 위로 올라가게 만들어 줄 수 있다.

참고로 저 인풋은 액션이 아니라 축으로 매핑한 것이다.


여기까지 언리얼로 날아보는 방법에 대하여 알아보았다.

마지막 노드들은 설명하고 싶지만 아직 숙련도가 완벽하지 않아

조금 모자라서 설명을 생략했다.

 

그래도 완전히 어려운 로직은 아니니 잘 생각해 보길 바란다.


이상으로 도움이 되었길 바라며,

 

끝.

댓글

💲 추천 글