2014년 4월 23일

애님 몽타주 소개

저자: * Lina Halper

AnimMontage (애님 몽타주)라는 이름은, 점프해 다닐 수 있는 섹션을 가지고 짜깁기하거나 편집할 수 있는 애니메이션이 들어있는 애셋 이름을 어떻게 지었으면 좋겠나고 저희 시네마틱 디렉터인 Greg Mitchell 에게 물었더니 지어준 이름입니다. '몽타주'의 정의는 "영화의 단편적인 부분을 선택하고 편집하고 모아서 연속된 한 편을 만드는 기법"이므로, 이 애셋이 하는 일에 매우 잘 맞는다고 생각합니다.

애님 몽타주가 무엇이고 왜 필요한가요?

애님 몽타주는 실행시간에 애님 그래프에 연결하여 그 상태를 변경할 수 있는 애셋입니다. 예를 들어, 다른 섹션으로 점프하거나 다시 링크할 수도 있습니다. 이는 거의 근접 공격과 같은 코드 주도형 애니메이션 또는 일회성 애니메이션으로, 트리거를 제어하거나, 원할 때 멈추거나, (루핑 또는 논루핑) 상태를 변환하거나 할 수 있도록 해 줍니다.

UE4 애님 그래프에서 초점을 맞춘 부분은, 게임내 데이터와 애니메이션 데이터를 분리시키는 것입니다. 애니메이션 데이터를 게임내 데이터와 독립적으로, 즉 애님 그래프는 Pawn 에 대해 알 필요가 없도록 만들고 싶었습니다. 그래야 애님 그래프의 상태가 같을 때 에디터 안에서 모든 것을 미리볼 수 있는 것입니다. 이 부분은 좋았지만, 코드가 제어를 할 때 정 반대의 문제가 생겼습니다. 애님 그래프를 직접 침범하지 않고 그 작업을 어떻게 해야 할까요? Pawn 이 애님 그래프 노드 상태를 변경하도록 하고 싶지는 않았습니다. 그러면 지금까지의 계획이 모두 수포로 돌아가니까요. 그래서 애님 몽타주가 도입된 것입니다. 콘텐츠 제작자가 이 애셋을 만들고, 애니메이션을 붙이고/편집하여 섹션을 관리한 다음, 코더는 애님 그래프더러 이 애셋을 재생하라 이르면 되는 것입니다.

애님 그래프와 몽타주 사이의 상관관계를 설명하는 그림은 이와 같습니다.

Relationship between AnimGraph and Montage

요청자(코더 또는 블루프린터)는 애님 그래프더러 이 몽타주를 재생하라 이릅니다. 애님 그래프는 각 트랙을 이름이 일치하는 슬롯 노드에 연결합니다. 그러면 요청자가 상태를 변경하기 전까지 콘텐츠에 구성된 대로 재생됩니다.

변경할 수 있는 것들은 어떠한 것들이 있을까요? 원래는 위치를 직접 변경하는 것을 고려했었지만, 애니메이션은 제작 도중 바뀌는 경우가 종종 있기에 쉽게 어지럽혀질 수 있습니다. 그래서 섹션을 추가했습니다. 이 섹션은 세로 타임라인 마커가 되어, 섹션 사이를 점프하거나, 링크를 재설정하거나, 루프로 만들 수도 있습니다.

Montage Screen

여기 가장 쉬운 예제로, 세 개의 [시작, 루프, 끝] 섹션이 있는 근접 공격입니다. 플레이어가 좌클릭을 하면, 시작 섹션에 대한 몽타주 재생을 하라 이를 때 기본적으로 시작 섹션을 발동시킵니다. 그리고 중간 섹션은 루프로 설정되어 있습니다. 시작 섹션이 완료되면, 루프로 이행되고, 거기서 영원이 반복됩니다. 플레이어가 마우스 버튼을 놓으면 멈추기야 해야겠지만, 바로 멈춰버리면 애니메이션이 루프 중간에 튀어버릴 것이므로 그러는 것은 좋지 않겠습니다. 루프를 끝으로 링크를 재설정해 줘야, 끝 섹션으로 이행된 이후 애니메이션이 종료됩니다.

몽타주 사용법의 기본적인 시나리오는 이렇습니다. 코더나 블루프린트 작업자에게 섹션을 통해 그 흐름을 제어할 수 있도록 한다는 개념입니다.

지금은 여기까지 입니다! 애님 몽타주에 대해 이해하시는 데 도움이 되었으면 좋겠네요. 질문이 있으신 경우 네이버 카페(한글) 또는 포럼(영문) 에 올려주시기 바랍니다. 기꺼이 도와드리겠습니다!