언어:
페이지 정보
엔진 버전:
언리얼 엔진

스켈레탈 컨트롤

언리얼 엔진

SkeletalControl (스켈레탈 컨트롤) (또는 SkelControl (스켈 컨트롤))을 통해 스켈레톤 에 있는 본을 직접 제어할 수 있습니다. 애니메이션 블루프린트 안에서 사용되며, 개별 본 제어, IK 체인 생성 등의 작업에 쓰입니다.내재된 스켈레톤에 대한 직접 제어할 수 있다는 것은, 절차적이고 동적으로 구동되는 애니메이션을 만들 수 있다는 것입니다. 하나의 본에 대한 Transform(트랜스폼) 작업이 다른 본을 움직일 수도 있고, 캐릭터에 걷기 애니메이션을 재생할 때 땅에 발을 일치시킬 수도 있습니다. 애니메이션 시퀀스 에 의해 적용된 본 트랜스폼을 조정하거나 완전 덮어쓰는 데 있어 어떠한 종류의 변경도 가능합니다.

공통 핀 및 프로퍼티

가능한 프로퍼티는 대부분 노드 자체에 기반하고 있지만, 모든 스켈레탈 컨트롤 에 공통인 핀과 프로퍼티가 몇 가지 있습니다. 그에 대한 설명은 다음과 같습니다.

설명

입력 핀

Component Pose

컴포넌트 포즈 - 변환시킬 인풋 포즈입니다.

Alpha

알파 - 스켈레탈 컨트롤 로 적용할 트랜스폼 비중 결정을 위한 알파 값으로 사용할 [0.0, 1.0] 범위의 float (실수) 값입니다. 값이 0.0 이면 인풋 포즈에 최대 비중을, 1.0 이면 컨트롤이 계산한 트랜스폼 에 최대 비중을 둡니다.

출력 핀

Pose (Blank)

포즈 - 트랜스폼 적용 이후 최종 포즈입니다.

perf.png

프로퍼티

설명

LOD Threshold

LOD 한계치 - 이 노드의 실행 대상이 될 수 있는 최대 레벨 오브 디테일 (LOD) 입니다. 예: LOD 한계치가 2 로 설정된 경우, LOD 2 까지만 실행되고, 컴포넌트의 LOD 가 3 이 되면 스스로 꺼집니다.

컴포넌트 스페이스

포즈는 로컬 스페이스컴포넌트 스페이스 에 있을 수 있습니다. Animation Blueprint (애니메이션 블루프린트)의 AnimGraph (애님그래프)에서 쓸 수 있는 Convert Spaces (스페이스 변환) 노드로 로컬 / 컴포넌트 스페이스 간의 변환이 가능합니다. 로컬 스페이스는 본의 트랜스폼이 부모 본에 상대적인 것으로 가정하며, 컴포넌트 스페이스는 본의 트랜스폼이 SkeletalMeshComponent 에 상대적인 것으로 가정합니다.

일반적으로 애니메이션 블루프린트 에서 포즈 작업을 할 때, 포즈는 로컬 스페이스에 있게 됩니다. 그러나 특정 블렌드 노드와 모든 SkeletalControl (스켈레탈 컨트롤)은 컴포넌트 스페이스에서 작동합니다. 즉 이러한 유형의 노드에 전달하기 전 인풋 포즈를 변환해 줘야 한다는 뜻입니다. 인풋 포즈가 로컬 스페이스 포즈를 출력하는 노드에서 오는 경우, 그 포즈를 올바른 스페이스로 변환해 줘야 스켈레탈 컨트롤 이 그에 맞는 작업을 할 수가 있습니다. 그 후 스켈레탈 컨트롤 이 작업을 하고 난 결과 포즈를 다시 로컬 스페이스로 변환해 줘야 추가적인 블렌드나 Result 핀에 쓸 수 있습니다.

각각의 컴포넌트 스페이스 변환 작업에는 그에 따르는 비용이 들게 마련이므로, 스켈레탈 컨트롤 처럼 컴포넌트 스페이스에서 작업을 하는 노드는 그룹을 지어서 한 번에 처리될 수 있도록 하여, 필요한 변환 횟수를 줄이는 것이 좋습니다.

스페이스 변환 노드 관련 상세 정보는 Convert Spaces 노드 문서를 참고하세요.

스켈레탈 컨트롤 노드

아래는 애님 그래프 내 스켈레탈 컨트롤 노드 각각에 대한 추가 정보가 들어있는 링크입니다.