컨트롤 릭의 포즈 캐싱 기능은 애니메이션 포즈를 컨트롤 릭 그래프에서 서로 다른 시기에 저장 및 적용하는 데 사용됩니다. 모든 릭 엘리먼트 는 포즈로 캐시될 수 있으며 릭 그래프 내에서 커브 값 또는 트랜스폼 등 여러 프로퍼티에 액세스할 수 있습니다.
이 문서에서는 포즈 캐싱 기능에 대한 개요와 더불어 포즈를 저장 및 적용하는 방법을 살펴봅니다.
전제조건
캐릭터에 대한 컨트롤 릭 에셋을 생성한 상태여야 합니다. 자세한 방법은 컨트롤 릭 퀵스타트 페이지를 참조하세요.
퀵스타트
다음은 포즈를 저장하고 얻는 방법에 대한 간단한 가이드입니다.
포즈 저장하기
포즈는 컨트롤 릭의 내 블루프린트(My Blueprint) 패널 내에 변수로 저장됩니다. 새 포즈 변수를 생성하려면 변수(Variables) 카테고리에서 추가(+) 버튼을 클릭하고 변수 타입을 릭 포즈(Rig Pose) 로 설정합니다.
다음으로, 릭 그래프로 변수를 드래그하고 Set 을 선택하여 그래프 내에서 변수를 Set 연산으로 레퍼런스합니다.
그런 다음 그래프를 우클릭하고 Get Pose Cache 를 선택하여 Get Pose Cache 노드를 생성합니다. 포즈(Pose) 와 값(Value) 핀을 연결합니다.
마지막으로, Set 노드를 이벤트에 연결합니다. 이 예시에서는 캐릭터의 초기 A 포즈를 저장할 이벤트 설정 에 연결할 수 있습니다.
포즈 적용하기
포즈는 Apply Pose Cache 노드를 통해 적용되며, 이 노드는 릭 포즈 변수에서 포즈를 읽어 옵니다.
우선, 변수를 그래프로 드래그하고 Get 을 선택하여 그래프 내에서 릭 포즈 변수를 Get 연산으로 참조합니다.
그런 다음 그래프를 우클릭하고 Apply Pose Cache 를 선택하여 Apply Pose Cache 노드를 생성합니다. 포즈(Pose) 와 값(Value) 핀을 연결합니다. 정방향 솔브 이벤트처럼 평가를 프리뷰할 수 있도록 이벤트에도 연결합니다.
전체 포즈를 적용하는 것이므로 가중치(Weight) 값을 편집하여 포즈 이펙트를 프리뷰할 수 있습니다. 이 예시에서는 프리뷰 씬 세팅 에서 프리뷰 컨트롤러를 사용하여 포즈 적용을 더 잘 확인할 수도 있습니다.
포즈 캐시 노드
컨트롤 릭 그래프에서 사용할 수 있는 포즈 캐시 노드는 다음과 같습니다.
이름 |
이미지 |
설명 |
---|---|---|
Apply Pose Cache |
|
저장된 포즈를 적용합니다. 릭 엘리먼트 설정, 트랜스폼 스페이스, 설정할 항목, 가중치 등의 프로퍼티를 포함합니다. |
For Each Pose Cache Element |
|
이 노드는 주어진 포즈의 모든 항목에서 반복적으로 실행됩니다. |
Get Pose Cache |
|
구할 항목(Items to Get) 의 입력 및 릭 엘리먼트 타입을 바탕으로 포즈를 저장합니다. 지정된 항목이 없는 경우 모든 항목이 사용됩니다. |
Get Pose Cache Curve |
|
저장된 포즈에서 단일 애니메이션 커브 를 구합니다. |
Get Pose Cache Delta |
|
두 포즈를 비교하고 비교 확인 Boolean을 출력합니다. |
Get Pose Cache Items |
|
항목 배열에서 릭 엘리먼트를 반환합니다. |
Get Pose Cache Transform |
|
포즈의 단일 릭 엘리먼트에서 트랜스폼 또는 애니메이션 커브 값을 구합니다. |
Get Pose Cache Transform Array |
|
포즈에서 모든 항목의 트랜스폼을 구하고 트랜스폼 배열로 반환합니다. |
Is Pose Cache Empty |
|
포즈가 비었는지 여부를 확인합니다. |
Draw Pose Cache |
|
뷰포트에 저장된 포즈에 축 디버그 정보를 드로합니다. 포즈에 저장된 엘리먼트만 드로합니다.
|
포즈 캐싱과 관련된 노드 대부분은 다음과 같은 공통 프로퍼티를 포함합니다.
이름 |
설명 |
---|---|
엘리먼트 타입(Element Type) |
포즈 저장 시 필터링할 릭 엘리먼트입니다. 다음 엘리먼트 중에서 선택할 수 있습니다.
|
스페이스(Space) |
포즈 정보가 저장 및 적용되어야 하는 트랜스폼 스페이스입니다. 로컬(Local) 또는 글로벌(Global) 스페이스 중 하나입니다. |
설정할 항목(Items to Set) |
포즈 저장 시 포함할 릭 엘리먼트 배열입니다. 이 프로퍼티를 설정하지 않으면 지정된 엘리먼트 타입(Element Type) 에 따라 모든 엘리먼트가 포함됩니다. |
워크플로 예시
Get Children 같은 배열 빌드 노드를 사용하여 포즈로 저장할 릭 엘리먼트의 서브섹션만 구할 수 있습니다. 이는 특정 엘리먼트에 대해서만 포즈를 저장하고 적용하고자 할 때 유용합니다.
Branch 같은 실행 노드를 사용하여 특정 시간 또는 상태의 포즈를 저장할 수 있습니다.