본문 바로가기
언리얼 최고/언리얼 구현

언리얼엔진(UE4) -- 우주 행성 간 이동하기(Blue프린트)!

by Lee_story_.. 2022. 7. 21.
728x90

 

앞선 글 중력조절에서 이어서 진행하겠습니다! 

 

언리얼엔진(UE4)-- 행성 중력 조절!

아래의 유튜브 영상을 참고했습니다! 좀 오래되긴했지만 가장 쉽게 만들어져있어서 만들어 보았습니다! 가장 먼저 기본적인 pawn생성! 방향도 구분할수있도록 표시도 해줍시다! 그다음 움직일수

ljhyunstory.tistory.com

 

 

역시 아래의 영상을 참조합니다!

 

먼저 현재 레벨에 존재하는 행성들을 배열로 받아옵시다!

이렇게 Planets배열에 저장후 

 

좌측에서 setPlanet이라는 함수를 하나 만들어줍니다.

 

이 함수에서는 현재 위치한 행성보다 가까울시 다른 행성 중력에 영향을 받도록 현재 행성을 변경해주는 함수로

위 처럼 배열에서 모든 행성을 탐색하며 벡터 연산으로 어디가 더 가까운지 탐색합니다!

 

그리고 더 가까운 행성을 찾으면 행성 변수에 저장해 줍시다!

 

 

 

그리고 전 글에서 했던 tick함수끝에 추가해줍시다!

이제 플레이 해보면 행성이 뒤바뀌는것을 볼수있습니다!!!!

 

 

하지만... 먼가 어색하게 뒤바뀌는....

 

 

그것을 해결하기위해 아래처럼 노드들을 추가해줍시다. (아까 함수 안에  있는 노드들이랑 비슷!)

현재 노드와 폰의 벡터의 회전율을 계산하여 회전시켜주는 부분!

 

 

 

앞선글에서 만든 make rot from zx 값과 현재 폰의 로테이션 값을 이즈로 묶어주고

위에서 계산 한 값을 알파에 넣어줍시다.

 

그리고 속도를 조금 조절해줍시다.. 너무 빨라서.. 여기까지가 끝!

 

 

 

(혹시 여기까지 해보신분... 패키징 한거랑 언리얼내에서 실행한거랑 속도차이 나시나요...

왜 저는 패키징하면 폰 속도가 빨라지죠;;  아시는분 댓으로 알려주세요!)  :)

 

 

틀린점이 있다면 댓 달아주세요!

댓글