블렌드 마스크 및 블렌드 프로파일

블렌드 마스크와 블렌드 프로파일을 사용하여 본을 제외하거나 본의 개별 블렌드 속도를 조절합니다.

Choose your operating system:

Windows

macOS

Linux

복잡한 애니메이션 로직을 생성하다 보면 모든 본을 한 번에 블렌딩하는 것을 넘어서서 더 정교하게 애니메이션 블렌드를 제어해야 할 수 있습니다. 블렌드 마스크(Blend Masks) 를 사용하면 블렌드에서 본을 제외할 수 있으며, 블렌드 프로파일(Blend Profiles) 을 사용하면 서로 다른 본들이 블렌드되는 속도를 제어할 수 있습니다. 이러한 추가 블렌딩 컨트롤로 게임플레이 애니메이션의 퀄리티와 호환성을 향상할 수 있습니다.

이 페이지에서는 블렌드 마스크와 블렌드 프로파일을 생성하고 사용하는 방법을 살펴봅니다.

전제조건

블렌드 마스크

블렌드 마스크 는 웨이트 인플루언스를 정의하기 위해 스켈레톤에 추가할 수 있는 정의로, 이를 사용하면 특정 본의 애니메이션을 부분적으로 또는 완전히 비활성화할 수 있습니다. 그런 다음, 이렇게 미리 설정한 정의를 Layered Blend Per Bone에 사용하여 특정 본의 애니메이션을 재생할 수 있습니다.

블렌드 마스크의 흔한 사용 사례로는 하체 본을 제외하여 전신 상태와는 상관없이 상체 애니메이션만 재생하는 경우가 있습니다. 이는 재장전, 장착, 사격 등 상체 본이 나머지 바디를 무시해야 하는 무기 관련 애니메이션에 유용합니다.

BlendMaskOn.gif

BlendMaskOff.gif

블렌드 마스크 사용

블렌드 마스크 미사용

블렌드 마스크 생성하기

블렌드 마스크는 스켈레탈 메시의 스켈레톤 트리 안에서 생성합니다. 스켈레톤 트리에서 옵션(Options) 드롭다운 메뉴를 클릭하고 블렌드 마스크 추가(Add Blend Mask) 를 선택합니다. 이름을 지정하고 Enter 를 누릅니다.

블렌드 마스크 추가

블렌드 마스크를 생성하면, 스켈레톤 트리 안에 블렌드 마스크가 나열된 블렌드 열 이 나타납니다. 블렌드 마스크가 여러 개 있다면 옵션 메뉴에서 클릭하여 다른 블렌드 마스크로 전환할 수 있습니다.

블렌드 마스크 뷰

현재 보이는 블렌드 마스크를 삭제하려면 스켈레톤 트리에서 옵션 드롭다운 메뉴를 클릭하고 제거(Remove) 를 선택합니다.

블렌드 마스크 삭제

블렌드 마스크와 블렌드 프로파일 모두 스켈레톤 에셋에 저장됩니다. 따라서 블렌드 마스크를 생성하거나 편집하는 것은 스켈레톤 에셋을 편집하는 것입니다.

블렌드 마스크 값 편집하기

블렌드 열에는 블렌드 마스크 안에 있는 각 본의 현재 값이 표시됩니다. 각 본에는 0~1 사이의 값을 할당할 수 있습니다. 본의 값이 0 이면 애니메이션이 전혀 재생되지 않고, 값이 1 이면 100% 값으로 애니메이션이 재생됩니다.

이러한 값을 편집하려면 값을 드래그해서 슬라이더 컨트롤로 조종할 수도 있고, 값을 선택해서 직접 입력할 수도 있습니다.

블렌드 마스크 편집

또한, 본을 우클릭하고 동시에 해당 블렌드 값을 여러 본에 적용하는 재귀적으로 블렌드 스케일 설정(Recursively Set Blend Scales) 을 선택하면 모든 자손에 같은 값을 설정할 수 있습니다.

재귀적으로 블렌드 스케일 설정

블렌드 마스크 값을 편집할 수 있는 열이 보이지 않는 경우, 프로퍼티 헤더를 우클릭하고 블렌드 프로파일 을 활성화해야 합니다.

블렌드 프로파일 열

블렌드 마스크 사용하기

블렌드 마스크를 생성하고 적절한 값을 설정했다면 애니메이션 블루프린트에 해당 블렌드 마스크를 사용할 수 있습니다. 애님 그래프 내에 있는 Layered Blend Per Bone 노드에 블렌드 마스크를 설정하면 됩니다.

애니메이션 블루프린트 애님 그래프에서 우클릭하고 Layered Blend Per Bone 노드를 생성한 다음, 디테일(Details) 패널에서 다음과 같이 프로퍼티를 설정합니다.

  • 블렌드 모드(Blend Mode)블렌드 마스크 로 설정합니다.

  • 블렌드 마스크 를 내 블렌드 마스크에 설정합니다.

layered blend per bone 노드

들어오는 소스 베이스와 블렌드 포즈를 연결하면 이제 해당 블렌드 마스크가 작동하는 모습을 볼 수 있습니다. 이 예시에서는 상체(UpperBody) 블렌드 마스크를 사용했습니다.

최종 블렌드 마스크

Layered Blend Per Bone 노드에서 디폴트 분기 필터(Branch Filter) 블렌드 모드를 사용하여 이 동작을 수행할 수도 있지만, 블렌드 마스크를 사용하면 이러한 양의 블렌드를 본에 더 쉽게 재사용할 수 있습니다.

블렌드 프로파일

블렌드 프로파일 은 본별 블렌드를 정의하기 위해 스켈레톤에 추가할 수 있는 정의로, 이를 사용하면 일부 본을 다른 본보다 더 빠르게 블렌딩할 수 있습니다. 블렌드 프로파일은 다음 메서드로 블렌딩할 때 사용 가능합니다:

블렌드 프로파일의 사용 사례로는 상체보다 하체를 더 빠르게 블렌딩하는 경우를 예로 들 수 있으며, 이는 유휴 스테이트와 로코모션 스테이트 사이에 트랜지션이 발생할 때 유용할 수 있습니다. 이렇게 하면 멈출 때 발이 지면에 딱 붙은 것처럼 보이게 할 수 있으며, 다시 이동하기 시작할 때 하체가 상체보다 더 자연스럽게 움직이기 시작할 수 있습니다.

BlendProfileOn.gif

BlendProfileOff.gif

블렌드 프로파일 사용(다리가 더 빨리 블렌딩됨)

블렌드 프로파일 미사용

블렌드 마스크처럼 블렌드 프로파일도 스켈레톤 트리에서 생성하고 관리하고 편집합니다. 스켈레톤 트리에서 옵션 드롭다운 메뉴를 클릭하고 시간 블렌드 프로파일 추가(Add Time Blend Profile) 또는 웨이트 블렌드 프로파일 추가(Add Weight Blend Profile) 를 선택합니다.

블렌드 프로파일 생성

블렌드 마스크와 블렌드 프로파일의 목록이 같은 열과 옵션 메뉴 공간에 표시되므로 확실히 구분할 수 있는 이름을 지정해야 혼동할 일이 없어집니다.

블렌드 이름

시간 블렌드 프로파일

시간 블렌드 프로파일 은 베이스 블렌드 값에 정규화된 배수(0~1)를 사용하여 블렌딩하는 블렌드 프로파일입니다. 값이 1.0 이면 일반 속도로 블렌딩하고 값이 작을수록 더 빨리 블렌딩합니다. 값이 0.0 이면 즉시 블렌딩합니다.

예를 들어 다음과 같이 블렌딩 값을 설정합니다.

  • 골반과 모든 상체 본을 1.0 으로 설정합니다.

  • 다리와 모든 하체 본을 0.5 로 설정합니다.

이렇게 설정하면 이 블렌드 프로파일을 사용할 때마다 베이스 블렌드 시간을 기준으로 다리가 2배 더 빨리 블렌딩됩니다. Blend Poses by bool 노드를 사용하고 베이스 블렌드 시간이 2.0 초로 설정된 경우 다리는 1.0 초 만에 블렌딩됩니다. 1.0 으로 설정된 나머지 모든 본은 기본 2.0** 초로 블렌딩됩니다.

시간 블렌드 프로파일

웨이트 블렌드 프로파일

웨이트 블렌드 프로파일 은 베이스 블렌드 값에 웨이트 인수를 사용하여 블렌딩하는 블렌드 프로파일입니다. 값이 1.0 이면 일반 속도로 블렌딩하고 값이 클수록 더 빨리 블렌딩합니다.

예를 들어 다음과 같이 블렌딩 값을 설정합니다.

  • 골반과 모든 상체 본을 1.0 으로 설정합니다.

  • 다리와 모든 하체 본을 2.0 로 설정합니다.

이렇게 설정하면 이 블렌드 프로파일을 사용할 때마다 베이스 블렌드 시간을 기준으로 다리가 2배 더 빨리 블렌딩됩니다. 값이 2.0 이면 블렌딩이 2배 빨라지고 3.0 이면 3배 빨라지는 식입니다.

웨이트 블렌드 프로파일

블렌드 프로파일 사용하기

블렌드 프로파일을 생성하고 적절한 값을 설정했다면 다음과 같은 방식으로 적용할 수 있습니다.

  1. 애니메이션 블루프린트 애님 그래프Blend Pose 노드에서 노드를 선택하고 디테일(Details) 패널에서 블렌드 프로파일(Blend Profile) 프로퍼티를 찾습니다.

    블렌드 프로파일 blend pose 노드

  2. 스테이트 머신 트랜지션 룰에서 트랜지션 룰 을 선택하고 디테일 패널에서 블렌드 프로파일 프로퍼티를 찾습니다.

    블렌드 프로파일 스테이트 머신

  3. 애니메이션 몽타주 에디터에 있는 에셋 디테일(Asset Details) 패널의 블렌드 프로파일 인(Blend Profile In)블렌드 프로파일 아웃(Blend Profile Out) 프로퍼티를 사용하면 몽타주 블렌딩 인과 블렌딩 아웃에 각기 다른 블렌드 프로파일을 설정할 수 있습니다.

    블렌드 프로파일 몽타주