
Run Animations달리는 애니메이션을 설정해보자.우선 기본적인 스테이트 머신을 생성해주자. 그리고 스테이트를 통해 간단하게 구성도를 만들어주자.idle -> 달리기 시작 -> 달리기 -> 달리기 멈춤 -> idle 형태이다. 각 스테이트에 대한 애니메이션과 조건들을 생성해주자. 이제 컴파일 하고 실행해보면 달리기 애니메이션이 실행된다.이후 강의를 통해 좀 더 다듬는 과정을 거치게 된다.

The Animation Blueprint직전 강의를 통해 만들었던 애니메이션 클래스를 토대로 블루프린트를 생성해주자. 그리고 미리 BP ShooterCharater로 들어가서 Anim Class를 방금 만든 BP 클래스로 설정해주자. 이제 Event Graph로 들어가보면,우클릭을 통해 VScode에서 작성했던 Update Animation Properties 함수를 호출할 수 있다.이를 event Blueprint Update Animation의 아웃풋 값과 연결해주자.

The Anim Instance캐릭터 움직임에 맞는 애니메이션을 할당해주자.이번엔 이를 위한 기반 작업을 하게 된다.이를 위해 C++ 클래스를 생성해주자. 그리고 애니메이션의 BeginPlay() 함수와 Tick() 함수에 해당하는 함수들을 선언해주자. 그리고 캐릭터의 스피드, 공중 여부, 움직임 여부에 대한 변수도 선언해주자. BeginPlay()에 해당하는 기본 초기화 함수를 먼저 구현해주었다. 이후 Tick()에 해당하는 함수에서도 똑같이 초기화를 해주고, null인지 아닌지 체크해주자.그리고 현재 캐릭터의 속도를 받아서 Z 값을 제외한 나머지를 Speed에 저장하였다. 공중 여부는 IsFalling() 함수를 통해 체크해주고,움직임 여부는 GetCurrentAcceleration() 함수의 사이즈..

Adding a Mesh기본적인 기능들을 구현해줬으니, 이제 캐릭터의 메시를 할당해주도록 해보자.우선 언리얼 엔진 마켓 플레이스에서 사용할 에셋을 다운받아주자.여기서는 Paragon Belica 에셋을 다운받아 사용했다.다운 받은 후 현재 프로젝트에 추가해주도록 하자. 추가하면 콘텐츠 브라우저에 해당 폴더가 생긴 것을 볼 수 있다. 이제 메시를 할당해주자. 이후 메시의 방향과 캡슐에 맞게 위치를 조정해주자.우선 캡슐의 크기를 체크하고, 이에 이용하여 높이를 조정해주자. 이제 플레이 해보면 해당 메시를 가진 캐릭터가 움직이는 것을 볼 수 있다.다음 강의에 애니메이션에 대한 작업을 시작하게 된다.

Mouse Turning And Jumping상화좌우 화살표로 회전했던 것을 마우스로 바꾸고, 점프 기능 또한 추가해주자.좌우 회전에 대해서는 Mouse X 값을, 상하 회전에 대해서는 Mouse Y 값을 할당해주자. 이후 똑같이 바인딩 작업을 해주자.여기서는 곧바로 APawn에 있는 AddController(Yaw/Pitch)Input 함수를 바로 사용해주면 된다. 이후 점프를 할당해주는데, 점프의 경우 Action 매핑이다.키가 누르고 있는 동안 동작되는 Axis 매핑과 달리 키가 눌리자마자 단일 함수 호출만 필요한 경우이다. 마찬가지로 바인딩 작업을 해준다.여기서 점프 버튼을 눌렀을 때와 놓았을 때 2가지 케이스에 대해 작업을 해주었다.

Turn at Rate이번엔 회전에 대해서 구현해보자.구현하기에 앞서 직전 강의 내용인 델타 타임에 대해서 알 필요가 있다. 델타 타임은 간단하게 말하여 각 프레임 간의 시간 차이 값으로, 두 프레임 사이에 경과한 시간을 측정한 값이다.이는 게임의 프레임 률이 일정하지 않더라도 물리적이나 애니메이션 움직임 등의 일관성 유지를 위해 사용된다.이번 구현 대상인 회전의 경우 프레임 률에 따라서 회전 속도에 큰 차이를 가질 수 있으므로, 델타 타임을 이용하여 회전 속도를 조절하게 된다. 델타 타임을 사용하는 것 말고는 상하좌우 이동 때와 거의 동일하게 구현해주면 된다.대신 여기서는 추가적으로 기본 프레임 률을 얼마로 설정할 지에 대한 변수를 추가로 선언해주어야 한다. 기본 프레임 률을 우선 45로 정했으며, 생..

Move Forward and Right직전 내용으로 컨트롤러 및 입력에 대한 내용이 있었는데, 강의로만 짧게 설명한 개요 같은 부분이라 생략한다.이에 따라 이번 강의 내용은 기본적인 플레이어 움직임에 대해 다루게 된다. 우선 프로젝트 세팅의 Input 항목으로 가서 Axis 매핑을 작성해주어야 한다.앞뒤에 대한 WS 키와, 좌우에 대한 AD 키를 할당해주자.Scale 키는 정방향 역방향에 맞게 1.0과 -1.0을 할당해주면 된다. 이제 이에 대한 함수를 만들어주어야 한다. 이제 본격적으로 구현하기에 앞서 현재 Controller가 유효한지 체크를 해주자.그리고 컨트롤러의 회전 값을 얻고, 거기서 x축에 해당하는 Yaw 값만 따로 저장해준다.이후 해당 Yaw 회전 값을 통해서 x축에 대한 방향 값을 얻어..