루트 모션(Root Motion)
보통 애니메이션은 프로그램 상에서 이동시키지 않고, 자체적으로 이동하는 경우가 많습니다. 예를 들어, 걷는 애니메이션이 있는데 애니메이션 상에서도 위치가 변한다거나, 점프 애니메이션에서 높이가 변동하는 경우 등이 존재합니다.
이러한 애니메이션은 보기엔 좋으나 실제로 적용할 경우 문제가 발생할 수가 있습니다. 예를 들어, 캐릭터가 이동하면서 걷기 애니메이션을 실행한다고 가정해보겠습니다. 캐릭터의 캡슐 컴포넌트, 즉 콜리전은 플레이어가 원하는 방향으로 이동하는데, 걷기 애니메이션이 재생하니 캐릭터 메시가 콜리전을 벗어납니다. 그리고 애니메이션 재생이 완료되면 캐릭터는 다시 콜리전 위치로 미끄러져 돌아갈 것입니다. 이는 비쥬얼적인 면에서도 보기 안좋고, 충돌 체크 등의 계산이 캡슐 컴포넌트 중심으로 동작하기 때문에 큰 문제가 됩니다.
루트 모션(Root Motion)은 스켈레톤의 루트 본(Root bone)의 애니메이션을 기준으로 하는 캐릭터의 동작을 의미합니다. 대부분의 게임 내 애니메이션은 캐릭터 루트의 정지 상태를 유지하는 사이클을 통해 처리되자만, 항상 그렇지는 않습니다. 이런 경우를 위해, 캐릭터에서 루트의 모션을 취한 다음, 캐릭터의 캡슐에 대신 적용해줘야 합니다.
모션 워핑 (Motion Warping)
모션 워핑(Motion Warping)은 실시간으로 특정 공간적 제약을 충족하기 위해 애니메이션을 동적으로 조정하는 데 사용되는 기술입니다. 이는 미리 정의된 애니메이션이 다양한 환경 조건이나 대화형 이벤트에 적응하여 보다 현실적이고 상황에 맞는 캐릭터 움직임을 보장해야 하는 시나리오에서 특히 유용합니다.
공격을 실행했을 때의 타겟팅 시스템을 예시로 들 수 있습니다. 일부 게임에서는 적 캐릭터를 타겟팅하여 공격 시, 캐릭터의 애니메이션이 실행되는 동안 타겟팅된 캐릭터 쪽으로 방향을 고정하도록 구현되기도 합니다.
공격 모션이 실행되는 동안 타겟을 향해 방향을 고정한다.
모션 워핑 설정
- Warp Target Name: 워핑이 영향을 미칠 대상 개체나 bone을 지정합니다.
- Warp Point Anim Provider: 워프 포인트를 제공할 애니메이션 소스를 선택할 수 있습니다.
- Warp Point Anim Transform: 애니메이션에서 워프 포인트의 변환 값을 조정할 수 있습니다.
- Warp Translation: 선택하면 변환 워핑이 활성화됩니다. 즉, 대상의 위치가 조정됩니다.
- Ignore ZAxis: 선택하면 Z축(일반적으로 수직 이동)이 뒤틀림의 영향을 받지 않게 됩니다.
- Mode: 선형과 같은 워핑의 보간 모드를 정의하는 설정입니다.
- Warp Rotation: 활성화하면 대상의 회전을 워핑의 일부로 수정할 수 있습니다.
- Rotation Type: 특정 방향을 향하는 등 회전 수정 방법을 선택할 수 있습니다.
모션 워핑은 동시에 이동과 방향을 하도록 설정할 수 없습니다. 두 가지를 모두 수행하기 위해선 두 가지의 모션 워핑을 동시에 수행해야 합니다.
'언리얼' 카테고리의 다른 글
[Unreal Engine] IK 리타겟팅(IK Retargeting) (0) | 2024.04.03 |
---|---|
[Unreal Engine] 애니메이션(Animation) (0) | 2024.04.03 |
[Unreal] 언리얼 오브젝트(UObject) (0) | 2024.04.02 |
[Unreal] 블루프린트 시스템 (Blueprint System) (0) | 2024.04.02 |
[Unreal Engine] 블루프린트 (Blueprint) (0) | 2024.03.28 |