Unreal engine 4 게임개발, Sword RPG, 캐릭터 움직이기

캐릭터 움직이기


이번 포스트에서는 캐릭터를 움직이게 해보겠습니다.
이번에도 언리얼 공식 문서를 보면서 하겠습니다.

http://api.unrealengine.com/KOR/Gameplay/HowTo/CharacterMovement/index.html


'세팅 - 프로젝트 세팅 - 엔진 - 입력'으로 가면 입력 동작과 축 설정을 할 수 있는
설정창이 나옵니다.


+를 눌러 추가해준다음 공식 문서의 내용을 따라 위와 같이 구성했습니다.
앞으로 가는 W가 1, 뒤로 가는 S가 -1, 오른쪽으로 가는 D가 1, 왼쪽으로 가는 A가 -1...
또 마우스를 자유롭게 움직이려면 마우스 X, Y 값도 설정해줘야 한다고 하네요.

여기서 한 것은 프로젝트 세팅이기 때문에 캐릭터를 움직이려면
직접 캐릭터 블루프린트에 추가 작업을 해야합니다.


어흥이로 들어갑니다.


W, A, S, D를 움직일 수 있는 블루프린트입니다.
근데 Get Control Rotation 으로 시작해서 이어지는 Break Rotator, Make Rotator 등이
왜 필요한지 모르겠습니다.

개인적으로도 찾아보겠지만 혹시 아시는 분 있으면 댓글로 알려주시길 바랍니다.
(+ 수정
카페에서 문의한 결과 저것이 카메라와 관련있다고 합니다.
실제로 Get Control Rotation에 마우스를 대보면 '폰인 경우 시야 로테이션이 될 수 있다'고 알려주는데 결국 현재 컨트롤하는 카메라 값인거죠.

여기는 전후좌우로 움직이는 게 필요하니까
카메라의 Yaw[Z축 중심 회전]값을 Vector로 전환하고
그 값을 정보로 하면 전후좌우로 알맞게 움직일 수 있습니다.)


마우스를 움직일 수 있는 블루프린트입니다.
Turn은 그 자리에서 빙그르르 도는 행위이므로 Yaw 로 입력하고,
Lookup은 위아래로 까딱대는 모습이므로 Pitch 로 입력한 듯 합니다.


Camera를 자손으로 가지고 있는 Spring Arm의 Camera Settings로 가서
Use Pawn Control Rotation을 체크합니다.
체크하면 폰(어흥)의 뷰/컨트롤 회전 값을 함께 사용하기 때문에
보다 자연스러운 카메라 움직임을 만들 수 있습니다.


점프도 만들었습니다. Is Falling이 아닐 때, 그러니까 떨어지는 상태가 아닐 때만
실행 가능하게 만들었습니다. 이렇게 하면 공중에서 점프가 실행되지 않습니다.


플레이해보면 앞뒤, 왼쪽, 오른쪽 다 이동 가능하고 점프도 됩니다.
마우스도 자유롭게 돌릴 수 있어서 한국 배틀그라운드 시점같습니다.
다만, 이동에 맞는 적절한 애니메이션이 없어서 약간 무섭게 보입니다.

다음 포스트에서는 캐릭터에 애니메이션을 넣어 살아있는 것처럼 보이게 하겠습니다.

댓글