포즈 드라이버

본의 이동에 따라 포즈 애셋 또는 커브 값을 구동시키는 포즈 드라이버 사용법입니다.

Windows
MacOS
Linux

애니메이션 블루프린트 내 애님 그래프의 Pose Driver (포즈 드라이버) 노드는 현재 실험단계이며 일부 기능이 예상대로 작동하지 않을 수 있습니다.

애니메이션 블루프린트 를 통해 Pose Asset (포즈 애셋)을 재생하기 위해 포즈 블렌더 를 사용하는 것에 추가로, 애니메이션 블루프린트의 애님 그래프 안에서 사용할 수 있는 Pose Driver (포즈 드라이버) 노드로 실행시간에 직접 포즈 애셋을 구동시킬 수도 있습니다. 포즈 드라이버 노드는 본으로 하여금 '예제 포즈" 세트에 따라 애니메이션의 다른 부분을 구동시키거나, 본의 이동에 따라 커브 값을 구동시킬 수 있도록 합니다. 이 노드의 한 가지 사용 예는 포즈 스페이스 디포머를 만들어 본의 방향이나 위치에 따른 교정형 블렌드 셰이프를 구동시키는 것입니다.

아래 영상에서, 쇄골(clavicle) 본 포즈를 사용하여 팔(arm) 본의 이동을 기준으로 어깨(shoulder)를 움직이고 있습니다.

포즈 드라이버 노드를 추가하고 제어하고자 하는 포즈가 들어있는 포즈 애셋을 할당합니다. 그리고 Source Boneclav 본으로 설정하여 (Rotate (회전)으로 설정된) Drive Source (구동 소스)에 따라 사용되고 있는 포즈를 구동시키는 Pose Targets (포즈 타깃)을 업데이트합니다. 애니메이션이 재생되고 쇄골 본이 회전하면서, Pose Targets (포즈 타깃) 섹션의 각 포즈가 최종 포즈에 끼치는 영향력이 막대로 표시됩니다.

포즈 드라이버 노드는 타깃 본의 방향에 따라 구동 값을 보간하는 RBF (Radial Basis Function) (방사 기저 함수)를 사용합니다.

포즈 드라이버 추가

애니메이션 블루프린트 에 포즈 드라이버 노드를 추가하는 방법은 다음과 같습니다:

  1. 애님 그래프 안에 우클릭하고 Pose Driver 노드를 검색합니다.

    ContextPoseDriverNode.png

  2. 노드를 추가했으면, 입력 Source Pose 를 주고 Out PoseFinal Animation Pose (최종 애니메이션 포즈) 또는 다른 노드에 블렌딩하도록 연결합니다.

    CompletePoseDriver.png

  3. 디테일 패널에서 평가 대상 본과 구동 대상 포즈 애셋 포즈 또는 커브를 정의합니다.

    BlankDetails.png

포즈 타깃

Pose Target (포즈 타깃)에서는 포즈 드라이버 노드로 구동시키고자 하는 포즈를 포즈 애셋 또는 커브로부터 지정합니다.

포즈 애셋을 할당한 채, 버튼을 클릭하고 Copy All from PoseAsset (포즈 애셋에서 모두 복사)를 선택하면 각 포즈가 포즈 타깃 창에 추가됩니다.

CopyPoses.png

추가하면, 그에 맞는 포즈가 창에 업데이트됩니다.

PoseTargetsOptions.png

포즈 타깃 창의 포즈를 클릭하거나 뷰포트에서 타깃 라인을 클릭하면 포즈를 선택할 수 있습니다.

커브 기반 포즈 타깃

포즈 타깃은 포즈 애셋 대신 애니메이션 커브 (모프 타깃 및 머티리얼 커브)로도 구동시킬 수 있습니다.

포즈 애셋 대신 커브 데이터를 사용하는 방법은:

  1. Pose Driver 노드의 디테일 패널에서, Pose Driver 섹션 아래 Drive OutputDrive Curves 로 변경합니다.

    DriveOutputSetting.png

  2. 애니메이션 블루프린트컴파일 합니다.

    CompileButton.png

  3. 타깃 추가 버튼을 눌러 구동시키고자 하는 커브 수를 추가합니다.

    AddTarget.png

  4. 각 커브에 대해, Drive 옵션 아래 원하는 커브를 선택하고 Curve (커브) 박스를 체크한 뒤, 그래프에서 그 값을 정의합니다.

    CurveSetupComplete.png

포즈 드라이버 프로퍼티

디테일 패널의 Pose Driver 프로퍼티 섹션에서는 포즈 타깃 의 파라미터를 구동하는 데 사용할 Source Bones (소스 본)을 정의할 수 있습니다. 다수의 소스 본 지정 또는 Only Drive Selected Bones (선택 본만 구동), 소스 본 트랜스폼을 읽을 때 사용할 Eval Space Bone (이밸 스페이스 본) 정의, RBF 솔버에 사용되는 RBF Parameters 설정, Drive SourceDrive Output 설정 등입니다.

Pose Driver 섹션에 있는 프로퍼티는 다음과 같습니다:

옵션

설명

Source Bones

소스 본 - 이 본의 방향에 따라 파라미터를 구동시킵니다.

Only Drive Selected Bones

선택 본만 구동 - Only Drive Bones 배열을 사용하여 구동시킬 본에 필터를 적용할지 여부입니다.

Only Drive Bones

본만 구동 - 이 배열에 지정된 본만 포즈 드라이버 노드로 변경됩니다.

Eval Space Bone

이밸 스페이스 본 - 소스 본 트랜스폼을 읽을 때 사용할 다른 옵션 본 스페이스입니다. 지정하지 않으면, 소스 본의 로컬 스페이스를(, 즉 부모 본 기준을) 사용합니다.

RBFParams

옵션

설명

Radius

반경 - 각 타깃에 대한 기본 반경으로, 타깃 스케일 팩터 단위로 곱합니다.

Function

함수 - 사용할 블렌드 모드 유형을 정의합니다.

Distance Method

거리 메서드 - 거리 측정 방법을 Swing Angle (스윙 각도), Quaternion (쿼터니언), Euclidean (유클리드) 중에서 선택합니다.

Twist Axis

트위스트 축 - Distance MethodSwing Angle 로 설정되었을 때 사용할 축입니다.

Weight Threshold

가중 한계치 - 가중치가 이 수치 미만이면 타깃으로부터의 기여를 반환하지 않습니다.

Drive Source

구동 소스 - Rotation (회전) 또는 Translation (이동) 중 트랜스폼 어느 부분을 읽을지 입니다.

Drive Output

구동 출력 - 포즈 또는 커브 중 무엇을 구동시킬지 입니다.

세팅 및 연관성

디테일 패널의 Settings (세팅) 섹션에서는 평가할 포즈 애셋 정의 및 싱크 그룹 사용 여부를 정의합니다. Relevancy (연관성) 섹션에서는 연관 애니메이션 노드가 이 노드를 무시하도록 설정할 수 있습니다.

옵션

설명

Pose Source

포즈 소스 - 포즈 데이터 소스로 사용되는 포즈 애셋 입니다.

Sync Group Name

싱크 그룹 이름 - 참조할 싱크 그룹 이름입니다.

Sync Group Role

싱크 그룹 역할 - 그룹 내 멤버십 유형입니다.

Ignore for Relevancy Test

연관성 테스트 무시 - true 면 스테이트에서 가중치가 가장 높은 애니메이션을 찾는 Relevant anim 노드는 이 노드를 무시합니다.

부가 예제와 자료

포즈 드라이버 노드와 세팅의 부가 예제 몇 가지입니다.

아래는, 쇄골(clavicle), 하박(lower arm), 상박(upper arm) 본이 어깨가 커브를 통해 회전하면서 그 주변 영역을 변형(deform)하는 교정형 블렌드 셰이프를 구동하는 모습입니다.

포즈 드라이버 노드를 구성하여 사용하는 또다른 예를 찾아볼 수 있는 라이브 스트림입니다:

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼