Make Unreal REAL.
article thumbnail
웅크린 상태에서 점프하기

Unreal Engine 5 C++ Multiplayer Shooter 언리얼 엔진은 기본적으로 웅크린 상태에서 점프를 허용하지 않는다. How do I allow Jump while I am Crouching? I agree with this solution, it worked for me like this, no need to add delays: forums.unrealengine.com Character 클래스의 CanJump() 함수 선언부를 보면 오버라이딩이 불가능하지만, CanJumpInternal_Implementation() 함수는 오버라이드가 가능한 것을 볼 수 있다. 내 캐릭터 클래스에서 CanJumpInternal_Implementation() 함수를 오버라이드한다. 아래와 같이, ..

article thumbnail
웅크리고 걷기

Unreal Engine 5 C++ Multiplayer Shooter 웅크리기 상태에서 걷는 애니메이션을 적용해본다. 웅크리기 시에는 시야 조정에 따른 몸 기울임(Leaning)을 설정하지 않고, 이동 방향에 따른 전후좌우 애니메이션만 블렌딩할 것이므로 Blend Space 1D로 블렌드 스페이스를 생성한다. 캐릭터의 이동 방향에 따른 Yaw 회전을 저장하는 YawOffset 축 1개를 갖는다. 블렌드 스페이스는 아래와 같다. 애니메이션 블루프린트를 수정해준다. Crouch도 Jump와 마찬가지로 캐릭터 클래스에 의해 자동으로 복제되므로, 서버와 클라이언트에서 모두 잘 작동한다.

article thumbnail
점프 애니메이션

Unreal Engine 5 C++ Multiplayer Shooter 이번에는 무기 장착 시 점프 애니메이션을 적용해보도록 한다. 캐릭터 블루프린트에서 적용될 중력 배수, 점프력 등을 설정해준다. 장르의 특성을 고려해야 한다. 빠른 움직임이 필요한 FPS 게임이므로 중력 배수를 크게 설정한다. FPS 장르 특성에 맞게 애니메이션도 수정해준다. 아래에서 착지 애니메이션인 JumpDown을 수정한 것과 같이 JumpUp, JumpLoop도 수정해주어야 한다. JumpDown 애니메이션을 복제한다. 착지 시 부자연스러운 앞 부분 프레임 구간을 찾아 제거해준다. 이번에는 체공 중인 JumpLoop 애니메이션의 회전을 수정해본다. JumpLoop 애니메이션을 복제한다. Root Bone을 선택한 후 총구가 앞 ..

article thumbnail
시야 조정에 따른 몸 기울임(Leaning)

Unreal Engine 5 C++ Multiplayer Shooter 이제 블렌드 스페이스의 남은 축인 Lean에 값을 적용해본다. 마우스 좌우(시야) 조정에 따른 몸 기울임이다. 시야가 오른쪽으로 조정 중인지, 왼쪽으로 조정 중인지 알기 위해서는 직접 프레임의 회전과 현재 프레임의 회전을 비교해야 한다. 무기를 장착했을 때, 캐릭터의 Yaw 회전은 컨트롤러와 동일하므로 캐릭터의 Yaw 회전을 비교에 사용한다. 한 프레임의 차이는 너무 미세하기 때문에 DeltaTime으로 나눠, 적당히 크게 만들어준다. 와리가리에 YawOffset을 적용할 때 순간적인 값 변화로 인해 튀는 것을 방지하는데 보간을 사용했던 것처럼, Lean에서도 FMath::FInterpTo() 함수를 통해 값을 보간한다. Lean 값..

article thumbnail
이동 방향에 따른 스트레이핑(Strafing)

Unreal Engine 5 C++ Multiplayer Shooter 무기 장착 시에 와리가리를 하기 위해서는 캐릭터가 항상 앞을 보고 있어야 하는데, 현재는 그렇지 않다. Combat 컴포넌트에서를 장착 시에 항상 앞을 보고 컨트롤러의 회전을 따르도록 변경한다. 서버에서는 서버에서만 실행되는 EquipWeapon() 함수에서 설정해준다. 클라이언트에서는 RepNotify 함수를 통해 적용해주도록 한다. 장착한 무기 액터 변수인 EquippedWeapon은 원래 복제된 변수였다. 이제 항상 컨트롤러의 Yaw와 동기화된 앞 방향을 보고 있는 것을 확인할 수 있다. 무기를 장착하고 걸을 때 재생되는 EquippedRun 블렌드 스페이스의 두 축에 적용할 값인 YawOffset과 Lean을 애님 인스턴스에 ..

article thumbnail
블렌드 스페이스

Unreal Engine 5 C++ Multiplayer Shooter 걷는 데 사용할 블렌드 스페이스를 생성한다. 앞으로 걷는 Jog_Fwd_Rifle 애니메이션을 복제한다. Skeleton Tree에서 Root Bone을 선택한 후 10도 정도 기울여준다. 타임라인 바를 0으로 위치시키고 + Key 버튼을 눌러 시작 지점에 키를 추가한다. 그러면, 수정된 사항이 타임라인에 나타나는 것을 볼 수 있다. 이 상태에서 Create Asset 메뉴에서 새로운 애니메이션 에셋을 생성하면, 현재 수정된 Skeleton Tree의 변경 사항이 Bake된 상태로 새로운 애니메이션을 생성할 수 있다. 우선 저장하는 것을 잊지 말자. Root Bone의 회전값이 Bake된 새로운 애니메이션이 생성됐다. 우측으로 10도..

검색 태그