개발 · 컴퓨터공학 / / 2022. 3. 22. 13:07

Learning Unreal 4 언리얼 공부일지 - 블루프린트 더블 점프

728x90
반응형

블루프린트를 이용해서 캐릭터를 순간이동 시키는 기능을 구현해보자.

언리얼 블루프린트에는 Teleport라는 노드가 구현되어있다. destination location에 위 그래프처럼 특정 오브젝트 location을 가져와서 연결하면 원하는 위치로 이동할 수 있다.

 

ThirdPersonCharacter의 자식 컴포넌트인 CameraBoom의 블루프린트 클래스에는 위 그림과 같은 lag라는 카메라를 뒤늦게 따라오게 하는 설정이 있다. default는 false이고, true로 설정하면 Teleport로 순간이동하였을 때 카메라가 뒤늦게 따라오는 효과를 줄 수 있다. 

 

더블 점프 기능 추가하기

ThirdPersonCharacter의 블루프린트에는 위 사진처럼 이미 다양한 기능이 구현되어있다. 여기에 약간의 기능을 추가해서 더블 점프기능을 구현하자.

위 사진이 더블 점프를 구현한 모습이다. 

Do N이라는 노드는 N번 실행하는 반복문과 비슷한 노드이고, switch on int는 N의 횟수별로 action을 실행할 수 있는 노드이다. 코드로 봤다면 for문과 if문 정도로 보면 좋을 듯 하다.

switch on int의 2에 launch character노드가 연결되어있는데, 이는 유니티에서 addforce와 비슷한 역할을 한다. 

캐릭터가 바라보는 방향의 좌표값인 forward vector를 가져와서 break vector로 x,y,z element를 나눈다. 그리고 다시 make vector로 x,y 값은 유지하고 z값만 임의로 설정하여 vector를 생성후 vector mutiply를 사용하여 곱한 뒤 launch velocity에 대입한다. 

블루프린트의 경우 형변환과 element를 나누는 부분에서 코드에 비해 위와 같은 방면에서 불편한 점이 있는 것 같다.

 

 이렇게 launch character실행 시 spawn emitter 노드를 통해 해당 캐릭터 위치에 FX효과를 추가할 수 있다.

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유