Set the amount of Acceleration : 현재 속도와 이전 속도를 비교하여 가속도를 계산. 이동 구성 요소에서 반환된 현재 가속도는 입력 가속도와 동일하며 캐릭터의 실제 물리적 가속도를 나태내진 않는다.
Last Velocity Rotation : 속도를 측정하여 캐릭터가 움직이는지 확인함. 속도는 수평(XY)속도의 길이와 동일하므로 수직 이동을 고려하진 않음. 캐릭터가 움직이는 경우 마지막 속도회전을 업데이트합니다. 캐릭터가 멈춘 후에도 이동 방향을 아는것이 필요하여 값을 저장합니다.
Last Movement Input Rotation : 캐릭터의 이동 입력량을 구하여 캐릭터에 이동 입력이 있는지 확인함. 이동 입력량은 현재 가속도를 최대 가속도로 나눈 값과 같으므로 범위는 0~1입니다. 1은 가능한 최대 입력량이고 0은 없음. 캐릭터에 이동 입력이 있는 경우 마지막 이동 입력 회전을 업데이트 함.
Aim Yaw Rate : 현재 혹은 이전의 Aim Yaw값을 Delta Seconds 로 나누어 비교하여 Aim Yaw 속도를 설정합니다. 카메라가 왼쪽에서 오른쪽으로 회전하는 속도를 나타냅니다.
Cache Values : 다음 프레임의 계산에 사용할 특정 값을 캐시함.
Draw Debug Shapes : 아래 펼쳐서 확인.
캐릭터의 움직임을 디버그할 수 있도록 뿌려주는 디버그 비주얼라이징 처리.
디버깅은 실제 코어 움직임을 예측해서 뿌려주도록 계산하여 적절하게 잘 표시해주는 것이 포인트이다.
Update Character Movement : 이전 페이지에서 설명했던 각각의 Gait 변수의 특성을 파악하고 적절하게 변수를 뿌려주는 것이 매우 중요하므로 다시 한번 설명한다.
Desired Gait
컨트롤러의 키 입력시 즉시 변경되는 변수.
예를 들어 Left Shift 키를 누르면 그 즉시 Desired Gait 변수는 Sprinting으로 변경.
Allowed Gait
여러 State(Stance, Rotation)에 따라 현재 Desired Gait를 허용할 지 판단.
예를 들어 Crouch 상태에서 Sprint 키를 눌렀을 때 Desired Gait는 Sprinting이 됩니다. 하지만 Crouch 상태에서 Sprint를 하지 못하길 원한다면(최대 Running까지) Desired Gait는 Sprinting이지만 이를 허용하지 않고 Allowed Gait를 Running으로 설정합니다.
설정된 Allowed Gait에 따라 Character Movement Component의 Max Speed와 같은 값들을 변경.
Actual Gait
Allowed Gait까지 설정 후 캐릭터의 물리적인 속도에 따라 실질적인 Gait를 설정합니다.
예를 들어 캐릭터가 Running 중에 Walking으로 변경 시 Allowed Gait는 Walking이 되었지만 실제 캐릭터 속도는 아직 Running의 속도이므로 Actual Gait는 Running입니다. 서서히 캐릭터 속도가 줄어들어 Walking의 속도가 됐을 때 Actual Gait도 Walking이 됩니다.
Gait
AnimBP에 전달되는 최종 ALS Gait 타입 변수입니다.
Allowed Gait, Actual Gait 변수는 Tick마다 새로 써주고 있는데 Actual Gait 변수가 변경 되었을 때만 Gait 변수에 Actual Gait를 그대로 설정.
Update Dynamic Movement Settings
현재 허용되어 있는 움직임을 이용하여 gait 값을 설정합니다.
Get target movement Settings
현재의 무브먼트 셋팅값과 Rotation Mode에 따라 Movement Setting Structure 값을 반환합니다.
Do While On Ground // Update Grouded Rotation : 아래를 펼쳐서 확인
Looking Direction 부분에서는 부드러운 회전을 위해 Velocity Direction 부분에서는 루트모션의 커브값을 제어하기 위해 회전Value를 정확하게 처리하기 위한 공간