WWolves Den

애니메이션 · 약 3분

Blend Space로 걷기와 달리기를 자연스럽게 섞기

속력 축, 애니메이션 샘플, 입력 범위와 보폭을 함께 맞춰 이동 모션을 구성합니다.

Wolfgadeok · 업데이트

하나의 값으로 여러 동작 사이를 고른다

정지와 달리기 애니메이션만 즉시 교체하면 중간 속도에서 동작이 어색할 수 있다. Blend Space는 입력 축 위에 여러 동작 샘플을 놓고 그 사이의 포즈를 섞어 만드는 에셋이다. 이동 속력 하나로 충분한 경우 1D 구성이 이해하기 쉽고, 방향까지 고려하려면 두 축이 필요한지 검토할 수 있다.

Ground Speed를 Speed 축의 입력으로 사용하면 수평 속력에 따라 제자리 동작, 걷기, 달리기 사이를 섞을 수 있다. 축의 최대값을 500으로 두는 등 예제 수치를 그대로 복사하기보다 게임에서 실제 사용하는 속도와 애니메이션 샘플의 의도가 맞는지 확인한다.

축과 샘플을 설계하기

축 범위의 끝은 캐릭터가 실제로 도달하는 값과 맞아야 한다. 최댓값을 지나치게 크게 두면 달리기 샘플에 충분히 도달하지 못하고, 너무 작게 두면 중간 속도부터 계속 끝 샘플에 머무를 수 있다. 시퀀스가 반복 가능한 동작인지, 서로 발의 주기와 방향이 잘 맞는지도 함께 본다.

  1. 캐릭터의 Skeleton에 맞는 Blend Space를 만들고 축을 Speed처럼 의미가 드러나는 이름으로 지정한다.
  2. 실제 이동 속도 범위를 조사해 축의 최소·최대값을 정한다. 단위를 코드와 동일하게 이해한다.
  3. 정지·걷기·달리기 샘플을 적절한 축 위치에 배치한다. 낮은 속도에 어떤 포즈가 필요한지 의도적으로 선택한다.
  4. 에셋 에디터에서 입력 위치를 움직이며 중간 구간을 미리 본다. Ctrl을 이용한 프리뷰 조작은 현재 에디터 안내와 대조한다.
  5. AnimGraph에서 Blend Space Player의 입력에 Ground Speed를 연결하고 실제 가속·감속 중 모션을 확인한다.
Blend Space의 Speed 축 범위와 축 위 애니메이션 샘플을 보여주는 편집 화면
Speed 축의 범위와 애니메이션 샘플 위치를 함께 조정합니다. 화면의 0~500은 예제 범위이며, 실제 캐릭터 이동 속도와 각 시퀀스의 보폭에 맞춰 설정합니다. 이전 버전의 에디터 화면으로, 현재 버전과 메뉴 배치가 다를 수 있습니다. 이미지를 누르면 크게 볼 수 있습니다.

부드러움과 반응성의 균형

입력을 보간하면 급격한 값 변화가 완화될 수 있지만, 너무 긴 보간은 캐릭터가 이미 멈췄는데 계속 달리는 인상을 줄 수 있다. 상태 전이에도 긴 블렌드가 있다면 지연이 겹칠 수 있다. 한 설정씩 바꾸고 정지 반응, 방향 전환, 발 미끄러짐을 함께 살펴본다.

샘플이 가까운 것의 영향을 더 받는다는 설명은 직관적인 출발점이다. 그러나 실제 블렌드는 선택한 차원과 샘플 배치·설정에 따라 결정된다. 복잡한 2D 배치를 단순히 가장 가까운 하나의 동작을 고르는 시스템으로 이해하면 안 된다.

미끄러짐을 Blend Space만의 문제로 보지 않기

발이 땅에 닿아 있는데 몸만 미끄러지는 현상은 시퀀스 보폭과 게임 이동 속도가 맞지 않아서 생길 수 있다. In-place 동작인지 Root Motion을 사용하는지도 구분해야 한다. 축을 이리저리 옮기기 전에 원본 시퀀스를 단독 재생해 보폭과 방향을 확인한다.

완료 기준은 프리뷰에서 부드러워 보이는 것만이 아니다. 실제 게임에서 느린 이동, 빠른 이동, 키를 놓는 순간, 대각선 이동을 차례로 시험해야 한다. 변경 전후 값을 기록하면 다른 캐릭터를 추가할 때도 같은 판단 기준을 재사용할 수 있다.

참고 자료