IK 제약조건

Spine Essential에서는 IK 제약조건을 사용할 수 없습니다.

IK 제약조건에서는 뼈의 끝이 타깃 뼈에 닿거나 타깃 뼈를 가리키도록 뼈 회전을 설정합니다. 이 옵션에는 매우 다양한 용도가 있지만 가장 일반적인 것은 손이나 발을 움직여 팔다리를 제어하는 것입니다.

일반적인 애니메이팅 방식을 FK 또는 "정운동학"이라고 합니다. FK는 하향식 접근 방식입니다. 손의 위치를 정하려면 먼저 위팔을 회전시킨 다음 아래팔을 회전시킵니다. 많은 움직임이 이 방식으로 이루어질 수 있지만 어려운 움직임도 있습니다. 예를 들어, 스켈레톤이 일어설 때 손을 제자리에 유지하려면 팔 뼈를 계속해서 조정해야 합니다. 손을 제자리에 유지하려면 많은 키가 필요합니다.

IK 또는 "역운동학"에서는 상향식 접근 방식을 사용하여 이 문제를 보다 명쾌하게 해결할 수 있습니다. 예를 들어, 손 위치가 설정된 다음 Spine에서는 자동으로 위팔 및 아래팔 뼈의 회전을 설정합니다.

IK는 걷기 애니메이션 중에 발이 바닥을 뚫고 들어가지 않도록 하고, 런타임 시 IK 타깃을 조정하여 비 평지에 이 똑바로 서도록 하는 등의 많은 작업에 유용합니다.

사용 예는 IK 제약조건 데모, 예제 프로젝트을 참조하십시오.

설정

Spine IK에서는 하나 또는 두 개의 뼈를 제약할 수 있습니다. IK 제약조건을 만들려면 먼저 다음 작업을 수행합니다.

  • 뼈가 1개인 경우, 뼈를 선택하여 제약합니다. IK 제약조건을 만든 후에는 뼈가 회전하여 타깃 뼈를 가리키게 됩니다.
  • 뼈가 2개인 경우, 한 개의 뼈를 선택하여 제약한 후 뼈의 자식 중 하나도 선택합니다. IK 제약조건을 만든 후에는 자식 뼈의 끝이 타깃 뼈를 가리키도록 뼈가 회전합니다.

제약된 뼈를 클릭하면 끝에 타깃이 생성되며, IK 제약조건이 생성될 때 제약된 뼈가 움직이지 않도록 합니다.

다음으로 트리 속성에서 New... IK Constraint를 선택하여 타깃 선택 모드로 들어갑니다. 새 뼈를 생성하려면 기존 뼈를 클릭하거나 빈 공간을 클릭하여 타깃 뼈를 선택합니다. 제약된 뼈를 클릭하면 해당 뼈의 끝에 타깃이 생성됩니다. 타깃 뼈는 제약된 뼈의 자손이 될 수 없습니다.

세 개 이상의 뼈를 제약하는 것은 비결정론적이고 제어하기 어렵기 때문에 지원되지 않습니다. 대신 여러 IK 제약조건 또는 FK를 사용하십시오.

속성

뼈가 1개인 IK의 경우:

뼈가 2개인 IK의 경우:

부모

여기에는 첫 번째 제약된 뼈가 표시됩니다. 뼈를 클릭하면 선택됩니다.

연필 아이콘을 클릭하여 다른 뼈를 선택할 수 있습니다.

자식

뼈가 1개인 IK의 경우 이 속성은 비어 있습니다.

여기에는 두 번째 제약된 뼈가 표시됩니다. 뼈를 클릭하면 선택됩니다.

연필 아이콘을 클릭하여 다른 뼈를 선택하거나 X 버튼을 클릭하여 자식 뼈를 지울 수 있습니다.

타깃

여기에는 타깃 뼈가 표시됩니다. 뼈를 클릭하면 선택됩니다.

연필 아이콘을 클릭하여 다른 뼈를 선택할 수 있습니다.

이 속성은 뼈가 2개인 IK의 경우에만 사용할 수 있습니다.

선택하면 자식 뼈가 부모 뼈를 기준으로 양의 방향(시계 반대 방향)으로 회전합니다.

양의 방향으로 구부러지는 속성은 키를 지정할 수 있습니다.

압축

이 속성은 뼈가 1개인 IK의 경우에만 사용할 수 있습니다.

압축을 선택하면 타깃 뼈까지의 거리가 제약된 뼈의 길이보다 작을 경우 제약된 뼈의 크기가 더 작게 조정됩니다.

압축 속성은 키를 지정할 수 있습니다.

늘이기

늘이기를 선택하면 타깃 뼈까지의 거리가 제약된 뼈의 길이보다 클 경우 제약된 뼈의 크기가 더 크게 조정됩니다.

늘이기 속성은 키를 지정할 수 있습니다.

뼈가 2개인 IK와 함께 사용될 경우 제한 사항:

  • 자식 뼈의 로컬 Y 이동은 0으로 설정됩니다.
  • 부드러움이 0보다 크면 늘이기가 적용되지 않습니다.
  • 부모 뼈에 로컬 비균일 크기 조정이 있는 경우 늘이기가 적용되지 않습니다.

균일

이 옵션을 선택한 후 압축 또는 늘이기를 사용하면 뼈의 크기가 X축과 Y축 모두에서 동일하게 조정됩니다.

부드러움

이 속성은 뼈가 2개인 IK의 경우에만 사용할 수 있습니다.

부드러움 속성은 제약된 뼈가 곧게 펴질 때 뼈의 속도를 늦춥니다. 부드러움이 0이면 타깃이 범위를 벗어나기 직전에 IK 뼈가 매우 빠르게 움직일 수 있으며, 이는 일반적으로 바람직하지 않습니다.

부드러움 값은 뼈가 곧게 펴질 때 속도가 느려지기 시작하는 뼈의 최대 도달 범위에서 타깃 뼈까지의 거리입니다. 타깃이 뼈의 최대 도달 범위를 넘어서 훨씬 멀리 이동할 때까지 뼈가 완전히 펴지지 않습니다.

부드러움 속성은 키를 지정할 수 있습니다.

믹스

제약조건 믹스를 참조하십시오. 믹스 속성은 키를 지정할 수 있습니다.

애니메이션 중에 0(FK만)과 100(IK만)으로 전환하거나 0(FK만)과 100(IK만)에서 전환하기 위해 FK와 IK 믹싱이 잠깐만 필요한 경우가 흔히 있습니다. 그러나 일부 상황에서는 FK와 IK를 믹스하여 키를 지정하기 어려운 결합된 모션을 얻을 수 있습니다. 예를 들어, 팔은 IK를 사용하여 위아래로 약간 흔들면서 FK를 사용하여 다른 애니메이션도 수행합니다.

믹스가 0보다 크고 100보다 작은 경우, 타깃 뼈를 이동하면 갑자기 다른 방향으로 회전할 수 있습니다. 이 문제는 뼈의 회전과 제약조건의 회전 사이의 보간에서 가장 짧은 회전 방향을 사용하기 때문에 발생합니다.

뼈가 2개인 IK의 경우 믹스가 0보다 크고 부모 뼈에 로컬 비균일 크기 조정이 있는 경우, 자식 뼈의 로컬 Y 이동은 0으로 설정됩니다.

제한 사항

IK와 뼈 변형의 상호 작용으로 인해 몇 가지 사소한 제한 사항이 적용됩니다.

  • 타깃 뼈는 제약된 뼈의 자식이 될 수 없습니다.
  • 뼈가 2개인 IK의 경우:
    • 자식 뼈는 부모 뼈의 직계 자식이어야 합니다.
    • 제약된 뼈에 대해서도 상속 회전, 크기 조정 및 기울이기를 비활성화할 수 없습니다.
    • 부모 IK 뼈의 로컬 기울이기는 0으로 설정됩니다.
    • 믹스가 0보다 크고 부모 뼈에 로컬 비균일 크기 조정이 있는 경우, 자식 뼈의 로컬 Y 이동은 0으로 설정됩니다.
    • 늘이기를 적용하면 자식 뼈의 로컬 Y 이동이 0으로 설정됩니다.
    • 부드러움이 0보다 크면 늘이기가 적용되지 않습니다.
    • 부모 뼈에 로컬 비균일 크기 조정이 있는 경우 늘이기가 적용되지 않습니다.

동영상

다음: 경로 제약조건 이전: 제약조건