언리얼 엔진의 애니메이션 툴과 에디터 툴세트로는 캐릭터 및 오브젝트 런타임 애니메이션 시스템, 렌더링된 시네마틱 콘텐츠를 생성하고 새 애니메이션 콘텐츠를 언리얼 엔진에서 직접 제작하면서 변경사항을 실시간으로 확인할 수 있습니다.
언리얼 엔진은 Maya 사용자에게 리얼타임 환경에서 애니메이션을 제작할 수 있는 접근 방식을 제공함으로써 스테이트 기반 로직을 사용한 게임별 맞춤형 인터랙티브 콘텐츠와 단순 재생에 그치는 것이 아닌 사용자가 '플레이'할 수 있는 인터랙티브 경험을 선사합니다. 물론 언리얼 엔진의 환경이 이러한 타입의 개발에 맞춰져 있다고 해서 꼭 그와 같은 경험만 제작해야 한다는 의미는 아닙니다. 오프라인 워크플로를 조정함으로써 협업을 강화하거나 라이팅 및 머티리얼에 대한 즉각적인 피드백을 강조하는 완전한 리얼타임 환경을 구현할 수 있으며, 씬 렌더링이 완료될 때까지 오랜 시간을 기다릴 필요 없이 바로 선택을 내릴 수 있어서 보다 효율적으로 작업할 수 있습니다.
가이드의 이 섹션에서는 Maya와 언리얼 엔진의 개념을 비교하고, 언리얼 엔진 애니메이션의 주요 컴포넌트에 익숙해지고, 언리얼 엔진에서 애니메이션을 생성하거나 임포트한 콘텐츠를 사용하는 워크플로를 대략적으로 살펴보고, 앞으로 익숙해져야 할 몇 가지 추가 애니메이션 툴을 소개합니다.
핵심 개념 비교
다음은 Maya의 개념이 언리얼 엔진에서는 각각 어떻게 대응하는지 보여줍니다.
| Maya | 언리얼 엔진 |
|---|---|
조인트 및 스켈레톤 | 스켈레톤 |
리깅 | 스켈레톤 |
스키닝 | 스켈레탈 메시 |
키프레임 애니메이션 | 임포트된 애니메이션 에셋 |
애니메이션 익스포트(OBJ, FBX 등) | 애니메이션 시퀀스 |
블렌드 셰이프 및 제어된 키 | 모프 타깃, 블렌드 스페이스 및 애니메이션 커브 |
애니메이션 레이어/비선형 애니메이션(Non-Linear Animation, NLA) | 애님 레이어 |
GraphEditor | 시퀀서 커브 및 애님 그래프 |
IK, FK, 및 HumanIK | 컨트롤 릭, 리얼타임 IK, 비리얼타임 IK 리타기팅 |
트랙스 에디터(비선형 편집) | 애니메이션 몽타주 및 시퀀서 |
피직스/다이내믹스 | 피직스 기반 애니메이션 시스템 |
애니메이션 컴포넌트
다음은 언리얼 엔진에서 오브젝트를 애니메이팅하거나, 에디터에서 임포트했거나 직접 생성한 애니메이션으로 작업할 때 사용하는 다양한 컴포넌트의 목록입니다.
| 언리얼 엔진 컴포넌트 | 설명 |
|---|---|
스켈레톤 및 스켈레탈 메시 | 스켈레톤은 스켈레탈 메시, 즉 스키닝된 메시에서 조인트라고도 하는 본을 정의하는 데 사용됩니다. 이러한 본은 캐릭터 메시가 디폼되는 방식과 위치를 제어하기 때문에 실제 생물학적 골격을 모방한다고 할 수 있습니다. 스켈레톤은 애니메이션 데이터와 전반적인 스켈레탈 계층구조 및 애니메이션 시퀀스를 저장하고 연결하는 데 사용됩니다. 스켈레톤은 여러 스켈레탈 메시와 애니메이션 간에 공유할 수 있습니다. 스켈레탈 메시에는 스켈레톤을 사용하여 애니메이팅하는 데 사용되는 본 데이터를 저장하는 캐릭터 또는 오브젝트의 시각적 메시가 포함되어 있습니다. 스켈레탈 메시는 애니메이션을 재생하고 로직을 구성하여 캐릭터의 비헤이비어를 실시간으로 제어합니다. 자세한 내용은 다음 주제를 참고하세요. |
애니메이션 시퀀스 | 이 애니메이션 에셋에는 스켈레탈 메시에서 재생하여 애니메이팅할 수 있는 애니메이션 데이터가 포함되어 있습니다. 애니메이션 시퀀스는 특정 시점에서 스켈레탈 메시에 할당된 스켈레톤의 위치, 회전 및 스케일을 지정하는 키프레임을 포함합니다. 순차적으로 재생하는 동안 여러 키프레임을 블렌딩하여 스켈레톤의 모션이 캐릭터를 애니메이팅합니다. 애니메이션 시퀀스는 특정 스켈레톤 에셋과 연결되며, 애니메이션이 동일한 스켈레톤 에셋을 사용하는 스켈레탈 메시 전체에 공유되도록 합니다. 자세한 내용은 다음 주제를 참고하세요. |
블렌드 스페이스 | 블렌드 스페이스는 다수의 애니메이션 또는 포즈를 1차원 또는 2차원 그래프로 구성하여 블렌딩할 수 있게 해주는 에셋입니다. 그런 다음 게임플레이 입력 또는 다른 변수를 통해 블렌딩을 제어할 수 있는 애니메이션 블루프린트 내에서 이 그래프를 레퍼런스할 수 있습니다. 블렌드 스페이스를 사용하면 거의 모든 타입의 블렌딩 배열을 애니메이션에 사용할 수 있습니다. 블렌드 스페이스는 시각적 그리드를 사용하여 입력에 따라 애니메이션을 부드럽게 보간하는 일종의 인터랙티브 슬라이더 또는 제어되는 키로 생각할 수 있습니다. 일반적으로 유휴/걷기/달리기 주기의 애니메이션을 부드럽게 블렌딩하는 데 사용되지만, 속도와 방향도 고려할 수 있습니다. 자세한 내용은 블렌드 스페이스를 참고하세요. |
컨트롤 릭 | 외부 툴이 아닌 언리얼 엔진 내에서 직접 캐릭터를 리깅하고 애니메이팅할 수 있게 해주는 애니메이션 툴세트입니다. 이 컨트롤 릭으로는 캐릭터에 대한 커스텀 컨트롤을 생성하고 리깅할 수 있고, 시퀀서에서 애니메이팅할 수 있으며, 워크플로에 유용한 여러 기타 애니메이션 툴을 사용할 수 있습니다. 자세한 내용은 컨트롤 릭을 참고하세요. |
모듈형 컨트롤 릭 | 모듈형 컨트롤 릭은 '모듈'이라고 부르는 사전 빌드된 컨트롤 릭 에셋을 여러 개 결합하여 만들어지는 디지털 애니메이션 릭입니다. 모듈은 팔, 다리 또는 척추 등 캐릭터 바디의 한 부분을 나타내는 컨트롤 릭 컴포넌트입니다. 애니메이션 데이터를 수신하도록 활성화하면 컨트롤 세트를 자동으로 생성하고 바디 부분을 리깅하는 데 사용할 수 있습니다. 모듈 여러 개를 연결하면 스켈레톤을 제어하는 연결부에 사용할 완전한 애니메이션 릭을 구성할 수 있습니다. 자세한 내용은 모듈형 컨트롤 릭을 참고하세요. |
커브 에디터 | 이 에디터를 사용하면 애니메이팅된 오브젝트의 키프레임을 수정하고 미세조정할 수 있습니다. 커브 에디터의 그래프에서는 기존 키프레임을 편집하거나 새 키프레임을 생성하고, 탄젠트를 편집하고, 기본으로 제공되는 툴을 사용하여 애니메이션 커브를 조정할 수 있습니다. 커브 에셋은 나이아가라 등 엔진의 다른 에디터에서도 사용할 수 있지만, 시퀀서와 함께 애니메이션 작업에 광범위하게 사용됩니다. |
시퀀서 | 시간이 경과함에 따라 캐릭터, 카메라, 프로퍼티 및 기타 액터를 애니메이팅할 수 있는 시네마틱 에디터입니다. 타임라인을 따라 트랙과 키프레임을 생성 및 수정할 수 있는 비선형 편집 환경을 갖추고 있습니다. 자세한 내용은 다음 주제를 참고하세요. |
애니메이션 모드 | 레벨 에디터는 터레인 스컬프팅 및 페인팅, 지오메트리 모델링, 애니메이팅 등 다양한 용도에 따라 여러 모드로 전환할 수 있습니다. 레벨 에디터의 애니메이션 모드에서는 직관적인 리얼타임 환경에서 작업하면서 시퀀서를 사용하여 레벨에서 레벨 액터 및 컴포넌트를 직접 애니메이팅할 수 있습니다. 애니메이션 모드에는 다음과 같은 컨트롤 릭 툴이 포함되어 있습니다.
자세한 내용은 다음 주제를 참고하세요. |
애니메이션 블루프린트 | 시뮬레이션 또는 게임플레이 동안 스켈레탈 메시의 애니메이션을 제어하는 특수한 블루프린트 입니다. 애니메이션 그래프는 애니메이션 블루프린트 에디터 내에서 편집되며, 여기에서 애니메이션을 블렌딩하거나 스켈레톤의 본을 제어하거나, 각 프레임에 사용할 스켈레탈 메시의 최종 애니메이션 포즈를 정의할 로직을 생성할 수 있습니다. 자세한 내용은 다음 주제를 참고하세요. |
스테이트 머신 | 애니메이션 블루프린트 내부에 빌드하여 재생 가능한 특정 애니메이션과 그 재생 시기를 정의할 수 있는 모듈형 시스템입니다. 주로 이 시스템 타입은 애니메이션을 유휴, 걷기, 달리기 및 점프 같은 캐릭터 무브먼트 상태와 서로 관련시키는 데 사용됩니다. 스테이트 머신으로는 상태를 생성하고, 이러한 시간에 재생할 애니메이션을 정의하고, 다른 상태로 전환할 시점을 제어하는 다양한 타입의 트랜지션을 생성할 수 있습니다. 이를 통해 지나치게 복잡한 애니메이션 그래프를 사용하지 않고도 복잡한 애니메이션 블렌딩을 손쉽게 생성할 수 있습니다. 자세한 내용은 스테이트 머신을 참고하세요. |
추가 애니메이션 툴
언리얼 엔진에는 엔진 내에서 프로젝트를 완벽하게 애니메이팅할 수 있게 해주는 다양한 툴과 시스템이 포함되어 있습니다. 다음은 언리얼 엔진에서 애니메이팅할 때 고려해야 할 추가 툴, 시스템 및 주요 사항입니다.
애니메이션 리타기팅
애니메이션 리타기팅은 동일한 스켈레톤 에셋을 공유하지만 비율이 다른 여러 캐릭터 사이에 애니메이션을 재사용할 수 있게 해주는 기능입니다. 이처럼 애니메이션 에셋을 서로 공유할 수 있으므로 애니메이션을 완전히 새로 만들지 않아도 됩니다.
애니메이션에 리타기팅을 사용할 수 있는 방법은 두 가지가 있습니다.
리타기팅하려는 캐릭터의 스켈레톤이 애니메이션이 생성된 캐릭터와 동일한 스켈레톤 에셋을 사용합니다.
리타기팅하려는 캐릭터의 스켈레톤이 동일한 스켈레톤 에셋을 사용하지 않습니다. 대신 스켈레톤의 본 정보를 전달하는 릭을 사용합니다.
아래 예시에는 동일한 스켈레톤 에셋을 사용하지만 비율이 서로 다른 캐릭터가 세 개 있습니다. 리타기팅하기 전에는 스켈레톤이 비율을 상관하지 않고 디폼됩니다. 하지만 리타기팅 후에는 각 캐릭터의 비율이 그대로 보존됩니다.
자세한 내용은 다음 주제를 참고하세요.
피직스 기반 애니메이션
언리얼 엔진은 피직스 시뮬레이션(래그돌, 클로딩, 다이내믹 헤어)을 사용하여 사실감을 높여줍니다.
또한 키프레임 애니메이션을 원활하게 블렌딩할 수 있으며, 일반적인 Maya 워크플로보다 강력한 기능을 제공합니다.
피직스 기반 애니메이션은 시뮬레이션 결과와 키프레임된 애니메이션을 블렌딩하여 '래그돌' 이펙트를 구현해야 하는 캐릭터에게 자연스러운 시뮬레이션의 느낌을 부여하거나, 애니메이팅되지 않은 헤어, 클로스, 체인 등 키프레임되지 않은 엘리먼트를 갖출 수 있게 해줍니다.
콘텐츠 예제 샘플 프로젝트의 피직스 기반 애니메이션 예시입니다.
피직스 기반 애니메이션을 사용하려면 각 캐릭터에 피직스 에셋을 설정함으로써 콜리전이 구성된 다른 표면과 반응할 수 있게 해야 합니다.
자세한 내용은 다음 주제를 참고하세요.
레이어드 컨트롤 릭
레이어드 컨트롤 릭 시스템은 캐릭터를 편집할 때 변경사항을 되돌릴 수 없는 워크플로가 될 수 있는 데이터 베이킹을 사용하지 않고도 다양한 워크플로에서 컨트롤 릭을 활용할 수 있게 해줍니다. 레이어 컨트롤러를 사용하면 시퀀서에서 서로 다른 컨트롤 릭을 한데 블렌딩 및 레이어링하여 컨트롤 릭의 역방향 솔브를 시퀀서의 클립에 실시간으로 추가할 수 있습니다. 이전에는 애니메이션을 편집하려면 시퀀서에서 스켈레탈 메시에 컨트롤 릭을 할당하고 키를 베이킹한 후에 라이브로 재생해야 했습니다.
자세한 내용은 레이어드 컨트롤 릭 - 심층 탐구 EDC 학습 강좌를 참고하세요. 또 팹에서 콘텐츠 예제 프로젝트를 다운로드할 수도 있습니다. 'Animation_ControlRig' 레벨에서는 레이어드 컨트롤 릭의 여러 데모와 사용 사례를 살펴볼 수 있습니다.
컨트롤 릭 역방향 솔브
컨트롤 릭은 솔브 방향이라고 하는 한 쌍의 방법으로 평가됩니다. 이것은 컨트롤 릭 그래프에서 생성되며, 릭 로직을 여러 솔브 방향 또는 솔버로 분할함으로써 릭에 들어오는 데이터를 확장할 수 있습니다. 이를 통해 릭을 공유하고, 애니메이션을 컨트롤에 다시 베이킹하고, 비헤이비어 디버깅 같은 워크플로를 구현할 수 있습니다.
역방향 솔브는 애니메이션 시퀀스를 컨트롤 릭에 베이킹하는 데 주로 사용되며, 이는 언리얼 엔진에서 애니메이션을 추가로 변경할 수 있도록 하기 위한 것입니다. 역방향 솔브는 엔진으로 임포트한 기존 애니메이션 또는 모션 캡처 데이터를 정교하게 편집다음 변경사항을 베이킹하는 데에도 유용합니다.
자세한 내용은 솔브 방향의 '역방향 솔브' 섹션을 참고하세요.
애니메이션 키트 플러그인
애니메이터 키트는 프로젝트에 애니메이터 친화적인 디포머와 유틸리티 릭을 추가하는 플러그인입니다. 이는 시퀀서를 통해 컨트롤 릭을 추가하는 것과 같은 기능을 수행합니다.
이 플러그인은 메인 메뉴의 편집(Edit) > 플러그인(Plugins)에서 'Animator Kit'를 검색하여 활성화할 수 있습니다.
이 플러그인에는 다음과 같이 시퀀서에서 사용할 수 있는 컨트롤 릭이 포함되어 있습니다.
유틸리티 릭
BlendParent
3Node
ChainSim
SingleCim
SplinePath
디포머
스컬프트 디포머
래티스 디포머(2x2x2, 3x3x3 및 4x4x4)
카메라 스페이스 래티스
이 플러그인 및 디포머를 사용하는 것에 대한 자세한 내용은 디포머 시작하기 EDC 학습 강좌를 참고하세요.
언리얼 엔진에서의 애니메이팅과 관련하여 추가로 참고해야 할 사항
루트 모션
언리얼 엔진에서 캐릭터는 수많은 컴포넌트로 구성되고, 캐릭터 무브먼트는 종종 캐릭터의 무브먼트 컴포넌트에 의해 처리되며, 애니메이션 재생이 그 위에 레이어로 추가되어 모션의 비주얼 피드백을 커뮤니케이션합니다. 루트 모션 애니메이션을 사용하면 애니메이션 데이터를 통해 캐릭터 무브먼트를 제어하여 레벨에서 보다 사실적인 무브먼트를 연출할 수 있습니다. 루트 모션에 의존하는 애니메이션의 예시로는 앞이나 뒤로 점프하여 캐릭터가 루트 위치에서 멀어지거나, 검술 동작의 조합처럼 복잡한 움직임을 수행하는 것을 들 수 있습니다.
자세한 내용은 루트 모션을 참고하세요.
애니메이션 압축
애니메이션 압축은 전체 애니메이션 시스템의 파일 크기와 메모리 비용을 낮추기 위해 애니메이션 시퀀스 에셋에서 애니메이션 데이터를 변환하는 프로세스입니다. 애니메이션 압축으로는 프로젝트 퍼포먼스 향상을 꾀할 수 있으며, 사양이 다른 여러 하드웨어 타깃 전반에 걸쳐 프로젝트를 확장하는 경우 특히 유용합니다. 무브먼트가 적은 애니메이션이 무브먼트가 많은 애니메이션보다 이점이 더 큰 편인데, 이는 눈에 띄는 퀄리티 저하가 나타날 수도 있기 때문입니다. 프로젝트에서 감당할 수 있는 퀄리티 손실에 따라 어떤 타입의 압축을 구현할지 조정하는 것이 중요합니다.
자세한 내용은 애니메이션 압축을 참고하세요.
라이브 링크
라이브 링크는 Maya와 같은 외부 소스에서 언리얼 엔진으로 애니메이션 데이터를 스트리밍하고 처리하는 공용 인터페이스를 제공합니다. 이를 통해 애니메이션을 외부에서 편집하면서 작업의 프리뷰를 언리얼 엔진에서 실시간으로 확인할 수 있게 해줍니다. 모션 캡처 시스템과 워크플로에 매우 유용합니다.
자세한 내용은 라이브 링크를 참고하세요.
다음 페이지
Maya 사용자를 위한 언리얼 엔진의 시네마틱 및 시퀀서 사용
Maya 사용자를 위해 언리얼 엔진의 시네마틱 툴인 시퀀서에 대해 살펴봅니다.