시네마틱 시퀀스를 생성하는 경우에는 레벨 시퀀스 내에서 게임플레이 애니메이션을 블렌딩하는 것이 좋습니다. 일반적으로 블렌딩은 시네마틱과의 원활한 트랜지션을 생성하기 위해 수행되며, 여기에는 플레이어 애니메이션과 플레이어 카메라 블렌딩이 모두 포함됩니다.
이 문서에서는 워크플로를 안내하고 시퀀서와 게임플레이 사이에 플레이어 및 카메라 애니메이션을 블렌딩하기 위해 사용할 수 있는 고려 사항에 대해 살펴봅니다.
전제 조건
- 프로젝트에는 제어 가능한 플레이어 캐릭터가 있어야 합니다. 이 문서에서는 삼인칭 템플릿이 예시로 사용됩니다.
- 시네마틱 시퀀스가 생성되어 있고 이를 게임플레이에 블렌딩할 준비가 되어 있어야 합니다.
- 시퀀서에서 플레이어를 레퍼런스하는 방법에 익숙해야 합니다.
애니메이션 블루프린트 구성
일반적으로 시퀀서에서 캐릭터를 애니메이팅할 때는 '애니메이션 모드(Animation Mode)' 프로퍼티가 자동으로 커스텀 모드 사용(Use Custom Mode) 으로 변경됩니다. 커스텀 모드는 게임플레이에서 플레이어를 애니메이팅하는 데 사용되는 것이 아닌 특정 시퀀서 전용 애니메이션 블루프린트입니다. 시퀀서에서 게임플레이로 캐릭터를 블렌딩하려면 커스텀 모드 를 사용할 수 없고 대신 게임플레이에서 캐릭터에 사용되는 동일한 애니메이션 블루프린트를 사용해야 합니다.

이를 보장하기 위해서는 시퀀스에서 플레이어 캐릭터 블루프린트를 레퍼런스하여 애니메이션 모드를 게임플레이 애니메이션 블루프린트로 설정하면 됩니다. 그렇지 않으면 캐릭터를 선택하고 디테일(Details) 패널로 이동하고 다음을 수행하여 이 프로퍼티를 수동으로 설정할 수 있습니다.
- 애니메이션 모드 를 애니메이션 블루프린트 사용(Use Animation Blueprint) 으로 설정합니다.
- 애님 클래스(Anim Class) 를 게임플레이에서 사용된 애니메이션 블루프린트 로 설정합니다. 삼인칭 템플릿의 경우에는 ABP_Manny_C 입니다.

애니메이션 블루프린트가 명시적으로 설정되었으면 시퀀서가 이 프로퍼티를 오버라이드하여 커스텀 모드를 사용하지 않습니다.
슬롯 구성
애니메이션 블루프린트를 사용하여 시퀀서에서 캐릭터를 애니메이팅하는 경우에는 애니메이션 블루프린트에 슬롯이 포함되어 있어 이를 통해 애니메이션을 애님 그래프(Anim Graph)에 주입할 수 있는지 확인해야 합니다. 주로 몽타주에서 애니메이션을 재생하는 데 사용되지만 슬롯을 사용하여 시퀀서에서 애니메이션을 재생할 수도 있습니다.
새 슬롯을 생성하려면 블렌딩하려는 캐릭터의 애니메이션 블루프린트를 열고 다음을 수행합니다.
- 창(Window) 을 클릭하고 아직 활성화되어 있지 않으면 애님 슬롯 매니저(Anim Slot Manager) 를 활성화합니다.
- '애님 슬롯 매니저'에서 슬롯 추가(Add Slot) 를 클릭합니다.
- 새 슬롯의 이름을 입력하고 Enter 를 누릅니다.

슬롯은 스켈레톤에 저장됩니다. 따라서 슬롯을 생성하거나 변경하면 스켈레톤도 편집됩니다. '애님 슬롯 매니저'에서 저장(Save) 을 클릭하면 슬롯을 변경할 때 스켈레톤을 저장합니다.
그런 다음 '애님 그래프'에서 슬롯을 레퍼런스합니다.
- '애님 그래프'에서 우클릭하고 Slot 'DefaultSlot' 노드를 추가합니다.
- 노드를 선택하고 디테일 패널에서 슬롯 이름(Slot Name) 을 앞에서 생성한 슬롯 이름으로 설정합니다.

슬롯을 생성하는 것 외에도 '애님 그래프'에서 슬롯을 삽입할 위치 를 고려합니다. 대부분의 단순한 블렌드의 경우 출력 포즈(Output Pose) 앞에 최종 노드로 배치하는 것이 가장 좋지만, 일부의 경우에는 프로시저럴 이펙트를 활용하기 위해 '애님 그래프' 로직 체인에서 앞 부분에 배치하는 것이 더 좋을 수 있습니다.
이 예시에서는 애니메이션 블루프린트 로직과 출력 포즈 사이에 Slot 노드를 연결합니다.

유휴 포즈로 블렌딩
가장 일반적이고 원활한 블렌딩 방법 중 하나는 플레이어 캐릭터가 유휴 상태의 기본 로코모션 포즈로 끝나도록 시네마틱을 게임플레이에 블렌딩하는 것입니다. 전제 조건에 설명되어 있는 것처럼, 이 가이드에서는 애니메이션과 시퀀서 콘텐츠가 이미 있다고 가정합니다. 여기에는 다음이 포함됩니다.
시퀀서에서의 캐릭터 구성
플레이어 캐릭터가 올바르게 블렌딩되게 하려면 시퀀서에서 다음 작업을 수행합니다.
-
애니메이션 섹션을 우클릭하고 프로퍼티(Properties) 메뉴로 이동하여 슬롯 이름 을 앞에서 생성한 슬롯 이름으로 설정합니다.
-
애니메이션 섹션의 오른쪽 상단을 드래그하여 애니메이션 끝에 블렌드 종료 리전을 생성합니다. 이러한 애니메이션의 종료 포즈가 게임플레이 포즈와 일치할 수도 있지만 그렇지 않더라도 시퀀서 애니메이션이 끝날 때 캐릭터가 '튀지' 않게 하는 데 도움이 됩니다.
-
캐릭터의 트랜스폼 섹션을 우클릭하고 프로퍼티 메뉴로 이동하여 종료 시(When Finished) 를 상태 유지(Keep State) 로 설정합니다. 이것은 시퀀서가 종료될 때 캐릭터가 동일한 위치를 유지하도록 하기 위해 필요합니다.
시퀀서에서의 카메라 구성
시네마틱 카메라가 게임플레이 카메라와 올바르게 블렌딩되게 하려면 시퀀서에서 다음 작업을 수행합니다.
-
카메라 컷 트랙(Camera Cut Track)을 우클릭하고 블렌드 가능(Can Blend) 을 활성화합니다.
-
애니메이션 섹션 블렌딩과 유사하게, 카메라 컷 섹션의 오른쪽 상단을 드래그하여 카메라 애니메이션 끝에 블렌드 종료 리전을 생성합니다.
-
시네 카메라 액터(Cine Camera Actor) 를 선택하고 디테일 패널에서 종횡비 제한(Constrain Aspect Ratio) 을 비활성화합니다.
또한 게임플레이 카메라에서 다른 축 제한을 사용하는 경우 필드 오브 뷰가 갑작스럽게 변경되는 것을 방지하기 위해 레벨 시퀀스 액터(Level Sequence Actor) 를 선택하고 종횡비 축 컨스트레인트 오버라이드(Override Aspect Ratio Axis Constraint) 를 비활성화해야 할 수 있습니다.

유휴 블렌딩 결과
런타임에서 이 시퀀스를 재생하면 캐릭터가 시퀀서에서 게임플레이로 블렌딩되는 것을 확인할 수 있습니다. 다시 말하지만, 시퀀서에서 플레이어를 레퍼런스하는 방법에 익숙해야 합니다.

추가 고려 사항
시퀀서 블렌드의 퀄리티를 향상하려면 프로젝트에서 다음 요소를 고려합니다.
고르지 않은 터레인
일반적으로 평평한 표면에서 캐릭터 애니메이션을 블렌딩할 때는 '애님 그래프'에서 간단한 블렌드 로직과 슬롯을 배치해야 합니다. 하지만 게임플레이 애니메이션 블루프린트에 고르지 않은 터레인에 IK 발을 배치하기 위한 로직이 포함된 경우, '애님 그래프'에서 블렌딩 슬롯을 배치할 위치를 다시 고려해야 할 수 있습니다. 그렇지 않으면 시네마틱 애니메이션 블렌딩이 종료될 때 이 터레인에 맞춰 캐릭터가 조정되는 것이 눈에 띄게 드러날 수 있습니다.
예를 들어 삼인칭 템플릿에서 마네킹은 컨트롤 릭 노드의 IK 로직을 사용하여 고르지 않은 표면에 맞게 프로시저럴하게 조정됩니다.

고르지 않은 표면에서 블렌드가 발생할 때는 '애님 그래프에서' IK 조정 노드 앞에서 실행되도록 새 슬롯을 생성하거나 이동해야 할 수 있습니다. 이후에 IK 조정이 발생하면 해당 슬롯에서 애니메이션을 고려합니다.

시퀀서의 애니메이션에서 이 슬롯을 사용하는 경우에는 애니메이션이 재생될 때 적절한 프로시저럴 조정이 표시됩니다.

입력 억제 및 복원하기
대부분의 블렌딩 중에는 블렌딩 시퀀스가 재생될 때 컨트롤러와 시퀀서 사이의 상충을 방지하기 위해 컨트롤러 입력을 억제해야 할 수 있습니다. 이를 위해 수행할 수 있는 주요 방법은 레벨 시퀀스 액터 를 선택하고 디테일 패널에서 다음을 활성화하는 것입니다.
- 무브먼트 입력 비활성화(Disable Movement Input) - 캐릭터의 게임플레이 무브먼트를 비활성화합니다.
- 룩 앳 입력 비활성화(Disable Look at Input) - 캐릭터의 게임플레이 카메라 제어를 비활성화합니다.
이렇게 하면 시퀀스 기간 동안 모든 입력이 억제됩니다.

또한 플레이어 입력을 제한 및 해제할 수 있는 시간을 정확하게 제어하고 싶은 경우에는 시네마틱 모드 설정(Set Cinematic Mode) 함수를 사용하여 입력을 수동으로 제어할 수 있습니다.

입력 관리를 보다 세밀하게 수행하기 위해서는 블렌드 시퀀스가 종료되기 전에 플레이어 제어를 해제해야 할 수 있습니다. 이렇게 하려면 다음을 수행하면 됩니다.
-
캐릭터의 트랜스폼 섹션을 우클릭하고 프로퍼티 메뉴로 이동하여 섹션 범위 끝(Section Range End) 의 잠금을 해제합니다. 그런 다음, 트랜스폼 섹션의 종료 시간의 제어를 해제하려는 위치로 드래그합니다. 이것은 시퀀스가 재생되면서 트랜스폼 섹션이 연속적으로 평가되어 캐릭터가 제자리에 유지되기 때문에 필요합니다. 일찍 종료하면 더 이상 평가되지 않습니다.
-
다음 로직을 사용하여 트랜스폼 섹션이 끝나는 정확한 시간에 이벤트 트랙 키프레임을 생성합니다.
- 이벤트가 시네마틱 모드 설정 을 실행합니다.
- 타깃 이 플레이어 컨트롤러 구하기(Get Player Controller) 에 연결되고, 이는 플레이어 상태 구하기(Get Player State) 에 연결됩니다.
- In 시네마틱 모드(In Cinematic Mode) 를 비활성화합니다.
- 무브먼트 영향(Affects Movement) 및 회전 영향(Affects Turning) 을 모두 활성화합니다.
이제 시네마틱을 재생하면 시퀀스가 종료되기 전에 플레이어가 복원됩니다. 이렇게 하면 경우에 따라 플레이어의 게임플레이 경험이 보다 매끄럽고 자연스럽게 진행될 수 있습니다.

게임플레이 카메라 방향
삼인칭 템플릿에 사용된 것과 같이 자유 이동 카메라 컨트롤이 사용되는 게임의 경우에는 블렌딩이 종료될 때 게임플레이 카메라가 원하는 방향을 바라보지 않을 수 있습니다.

플레이어 컨트롤러 가져오기 및 컨트롤 회전 설정(Set Control Rotation) 을 사용하여 게임플레이 카메라 방향을 수동으로 설정할 수 있습니다.

새 회전(New Rotation) 핀을 우클릭하고 구조체 핀 분할(Split Struct Pin) 을 선택하여 사용 가능한 모든 회전 축을 검토하고 노드에서 회전 값을 설정합니다. 이 예시에서는 다음 로직을 생성합니다.
- 시퀀스 재생이 시작된 후 컨트롤 회전 설정 을 실행합니다.
- 새 회전 Y(New Rotation Y) 를 -15 로 설정하여 카메라를 약간 아래로 내립니다.
- 새 회전 Z(New Rotation Z) 를 -45 로 설정하여 카메라를 측면으로 회전시켜서 원하는 방향을 보게 만듭니다.

이제 시네마틱을 재생하면 원하는 방향을 보면서 카메라 블렌딩이 종료됩니다.
