icon안동민 개발노트

블렌드 스페이스 기본 사용법


 블렌드 스페이스는 여러 애니메이션을 부드럽게 혼합하여 연속적이고 자연스러운 동작을 만들어내는 강력한 도구입니다.

 이를 통해 캐릭터의 속도, 방향, 경사도 등 다양한 요소에 따라 적절한 애니메이션을 동적으로 생성할 수 있습니다.

블렌드 스페이스의 개념

 블렌드 스페이스는 다음과 같은 주요 요소로 구성됩니다.

  1. 축 (Axis) : 블렌딩 파라미터를 정의 (예 : 속도, 방향)
  2. 샘플 포인트 : 특정 축 값에 해당하는 애니메이션
  3. 블렌딩 영역 : 샘플 포인트 사이의 보간 영역

블렌드 스페이스 생성 방법

  1. 콘텐츠 브라우저에서 우클릭
  2. Animation > Blend Space 선택 (1D 또는 2D)
  3. 블렌드 스페이스 에셋 이름 지정 (예 : BS_Locomotion)

1D 블렌드 스페이스 설정

 1D 블렌드 스페이스는 단일 파라미터를 기반으로 애니메이션을 블렌딩합니다.

 예 : 이동 속도에 따른 걷기-달리기 블렌드

 1. 축 설정

  • 파라미터 이름 : Speed
  • 최소값 : 0, 최대값 : 500 (단위 : cm/s)

 2. 샘플 포인트 추가

  • 0 : 정지 애니메이션
  • 150 : 걷기 애니메이션
  • 500 : 달리기 애니메이션

2D 블렌드 스페이스 설정

 2D 블렌드 스페이스는 두 개의 파라미터를 사용하여 더 복잡한 블렌딩을 가능하게 합니다.

 예 : 이동 속도와 방향에 따른 애니메이션 블렌드

 1. 축 설정

  • X축 : Direction (-180 ~ 180도)
  • Y축 : Speed (0 ~ 500 cm/s)

 2. 샘플 포인트 추가

  • (0, 0) : 정지
  • (-180, 150) : 왼쪽 걷기
  • (0, 150) : 앞으로 걷기
  • (180, 150) : 오른쪽 걷기
  • (-180, 500) : 왼쪽 달리기
  • (0, 500) : 앞으로 달리기
  • (180, 500) : 오른쪽 달리기

애님 그래프에 블렌드 스페이스 통합

  1. 애니메이션 블루프린트의 애님 그래프 열기
  2. 블렌드 스페이스를 그래프로 드래그
  3. 블렌드 스페이스 노드의 입력 핀에 적절한 값 연결

 예시

[Get Character Movement] --> [Get Velocity]
                         --> [Convert to Local Space]
                         --> [Break Vector]
                              |
    [Calculate Direction] <-- [X, Y]
    [Calculate Speed] <-- [Vector Length]
              |
    [Blend Space Node]

런타임에 블렌드 파라미터 제어

 블렌드 파라미터는 주로 캐릭터의 움직임이나 상태에 따라 동적으로 업데이트됩니다.

  1. 애니메이션 블루프린트의 이벤트 그래프에서
Event Blueprint Update Animation
    |
[Calculate Speed and Direction]
    |
[Set Speed Variable]
[Set Direction Variable]
  1. 애님 그래프에서
[Get Speed Variable] --> [Blend Space Node: Speed Input]
[Get Direction Variable] --> [Blend Space Node: Direction Input]

효과적인 블렌드 스페이스 사용 팁

 1. 적절한 샘플 포인트 선택

  • 중요한 동작 변화 지점에 샘플 포인트 배치
  • 불필요한 샘플 포인트는 제거하여 성능 최적화

 2. 부드러운 전환을 위한 중간 애니메이션 추가

  • 예: 걷기와 달리기 사이에 조깅 애니메이션 추가

 3. 애니메이션 정렬

  • 루트 모션 사용 시 시작과 끝 지점 일치 확인

 4. 블렌드 커브 조정

  • 필요에 따라 선형 또는 곡선 블렌딩 사용

 5. 미러링 기능 활용

  • 좌우 대칭 동작의 경우 한 쪽만 생성 후 미러링

자연스러운 캐릭터 움직임 구현

 블렌드 스페이스를 활용하여 다양한 상황에 따른 자연스러운 캐릭터 움직임을 구현할 수 있습니다.

 1. 방향 전환 블렌드 스페이스

  • 현재 속도와 목표 방향에 따른 적절한 전환 애니메이션 선택
X축 : 현재 속도 (0 ~ 500)
Y축 : 목표 방향과의 각도 차이 (0 ~ 180)

 2. 경사면 적응 블렌드 스페이스

  • 지형 경사도에 따른 적절한 걷기/달리기 애니메이션 선택
X축 : 속도 (0 ~ 500)
Y축 : 경사도 (-45 ~ 45도)

 3. 컴뱃 스탠스 블렌드 스페이스

  • 전투 상황에서의 이동 방향과 무기 유형에 따른 애니메이션 블렌드
X축: 이동 방향 (-180 ~ 180)
Y축: 무기 유형 (0: 맨손, 1: 한손무기, 2: 양손무기)

고급 블렌드 스페이스 테크닉

 1. 가중치 기반 블렌딩

  • 특정 조건에 따라 샘플 포인트의 가중치를 동적으로 조절
[Calculate Terrain Type] --> [Adjust Sample Weights]

 2. 계층적 블렌드 스페이스

  • 여러 블렌드 스페이스를 조합하여 복잡한 동작 생성
[Locomotion Blend Space] --> [Upper Body Blend Space]

 3. 프로시저럴 애니메이션과의 결합

  • IK나 물리 기반 애니메이션을 블렌드 스페이스 결과에 적용
[Blend Space Output] --> [Apply IK] --> [Final Pose]

 적절히 설계된 블렌드 스페이스는 적은 수의 기본 애니메이션으로도 다양하고 유연한 캐릭터 동작을 만들어낼 수 있습니다.