IK 솔버는 체인의 링크를 회전시키거나 위치를 지정하는 역운동학 솔루션을 제공합니다. 또한 링크에 있는 하위 오브젝트의 변환을 결정하는 IK 제어기를 적용합니다. IK 솔버는 오브젝트의 모든 계층에 적용할 수 있으며, 애니메이션 메뉴의 명령을 사용하여 계층이나 그 일부에 IK 솔버를 적용할 수 있습니다. 계층의 오브젝트를 선택한 후 IK 솔버를 선택하고 계층의 다른 오브젝트를 클릭하여 IK 체인의 끝을 정의합니다.
HI IK 솔버가 적용된 골격 시스템
각 IK 솔버 유형에는 고유의 동작 및 작업 흐름이 있고 계층 및 모션 패널에 표시되는 특화된 제어기 및 도구가 있습니다. IK 솔버는 플러그인이므로 프로그래머가 IK 솔버를 사용자화하거나 직접 IK 솔버를 작성하여 3ds Max의 IK 기능을 확장할 수 있습니다.
3ds Max에는 4개의 서로 다른 IK 솔버가 함께 제공됩니다. 가장 일반적으로 사용되는 두 가지가 HI(History Independent)와 HD(History Dependent)입니다. 나란히 둘 다 보려면 다음 비디오를 재생합니다.
이전 비디오에서는 로봇 팔 1이 HI IK를 사용하고 로봇 팔 2는 HD IK를 사용합니다. 둘의 엔드 이펙터는 동일하게 애니메이션됩니다. 공간의 동일한 점에 도달하기 위해 두 알고리즘이 사용하는 서로 다른 IK 솔루션을 주목하십시오.
IK 솔버가 일반적으로 작동하는 방식은 다음과 같습니다. 계층의 일부에, 예를 들어 캐릭터의 엉덩이에서 뒤꿈치까지 또는 어깨에서 손목까지 역운동학적 체인이 정의됩니다. IK 체인의 끝에는 목표 기즈모가 있습니다. 목표는 다양한 방법으로 시간에 따라 재배치되거나 움직입니다. 주로 링크, 매개변수 연결 또는 제약 조건과 같은 방법이 사용됩니다. 목표가 움직이면 IK 솔버는 체인에서 마지막 관절(엔드 이펙터)의 피벗을 이동하여 목표에 맞추려고 시도합니다. IK 솔버는 엔드 이펙터를 곧게 펴거나 재배치하여 목표와 일치하도록 체인의 일부를 회전시킵니다.
팔 움직임에 IK 솔버 사용
대부분의 경우, 엔드 이펙터는 지면에 고정됩니다. 예를 들어 캐릭터의 걷기 주기에서 뒤꿈치가 들릴 때 발가락을 지면에 "고정"할 수 있습니다. 그러면 체인 루트의 움직임은 발가락부터 다리의 포즈를 지정합니다.
4개의 플러그인 IK 솔버가 3ds Max와 함께 제공됩니다.
HI 솔버는 캐릭터 애니메이션과 시퀀스가 긴 IK 애니메이션에 적합한 방법입니다. HI 솔버를 사용하면 계층에 다중 체인을 설정할 수 있습니다. 예를 들어, 캐릭터의 다리는 엉덩이에서 발목까지의 체인과 뒤꿈치부터 발가락까지의 또 다른 체인을 가질 수 있습니다.
솔버의 알고리즘이 과거 상태에 독립적이므로 애니메이션의 프레임 수와 상관없이 빠르게 사용할 수 있습니다. 프레임 2000에서의 속도는 프레임 10에서의 속도와 같습니다. 또한 뷰포트에서 안정적이며 불규칙적이지 않습니다. 이 솔버는 목표 및 엔드 이펙터를 생성합니다. 기본값으로 엔드 이펙터 표시가 해제된 경우도 마찬가지입니다. 회전 각도를 사용하여 팔꿈치나 무릎 위치를 지정하도록 솔버 평면을 조정합니다. 회전 각도 조작기를 뷰포트에 핸들로 표시하고 조정할 수 있습니다. 또한 HI IK는 기본 각도를 사용하여 회전 방향을 정의함으로써 팔꿈치나 무릎을 올바르게 구부릴 수 있습니다.
HD 솔버는 기계 애니메이션, 특히 IK 애니메이션이 필요한 슬라이드식 부품이 있는 기계에 적합합니다. 관절의 한계와 우선 순위를 설정할 수 있습니다. 시퀀스가 긴 경우 성능 문제가 있으므로 시퀀스가 짧은 애니메이션에 사용하는 것이 좋습니다. 특히 슬라이드식 부품이 있는 기계의 애니메이션 제작에 적합합니다.
솔버의 알고리즘이 과거 상태에 종속적이므로 시퀀스가 짧은 애니메이션에서 가장 잘 작동합니다. 시퀀스의 뒤로 갈수록 계산 결과를 산출하는 데 시간이 오래 걸립니다. 엔드 이펙터를 연동 오브젝트에 바인딩할 수 있으며 우선 순위 및 제동 시스템을 사용하여 관절의 매개변수를 정의할 수 있습니다. 미끄러지는 관절의 한계를 IK 애니메이션과 함께 사용할 수 있습니다. 이와는 달리 HI IK 솔버에서는 FK 움직임을 사용할 때만 미끄러지는 관절의 한계를 사용할 수 있습니다.
IK 팔 다리 솔버는 체인에서 두 개의 골격에서만 작동합니다. 뷰포트에서 속도가 빠른 분석적 솔버로서 캐릭터의 팔이나 다리를 움직일 수 있습니다.
IK 팔 다리 솔버는 게임 엔진으로 내보내기에 사용할 수 있습니다.
솔버의 알고리즘이 과거 상태에 독립적이므로 애니메이션의 프레임 수와 상관없이 빠르게 사용할 수 있습니다. 프레임 2000에서의 속도는 프레임 10에서의 속도와 같습니다. 또한 뷰포트에서 안정적이며 불규칙적이지 않습니다. 이 솔버는 목표 및 엔드 이펙터를 생성합니다. 기본값으로 엔드 이펙터 표시가 해제된 경우도 마찬가지입니다. 회전 각도를 사용해 팔꿈치나 무릎 위치를 지정하도록 솔버 평면을 조정합니다. 회전 각도의 대상을 다른 오브젝트로 지정하여 애니메이션할 수 있습니다. 또한 IK 팔 다리 솔버는 기본 각도를 사용하여 회전 방향을 정의함으로써 팔꿈치나 무릎을 올바르게 구부릴 수 있습니다. 또한 IK 사용의 키프레임하여 IK와 FK 사이에 전환할 수 있습니다. IK 팔 다리 솔버에는 FK 포즈 함수를 위한 특수 IK가 있으므로 IK를 사용하여 FK 키를 설정할 수 있습니다.
스플라인 IK 솔버는 스플라인을 사용하여 연속된 골격 또는 다른 연결된 오브젝트의 곡률을 결정합니다.
스플라인 IK에서 스플라인의 꼭지점을 노드라고 합니다. 꼭지점과 마찬가지로 노드를 이동하여 스플라인의 곡률을 변경할 수 있습니다.
스플라인 노드의 수가 골격 개수보다 적을 수 있습니다. 이런 경우 긴 다중 골격 구조에서 각각의 골격을 움직이지 않고 몇 개의 노드만으로 간편하게 포즈를 지정하고 애니메이션할 수 있습니다.
스플라인 IK는 다른 IK 솔버보다 더 유연한 애니메이션 시스템을 제공합니다. 노드가 베지어 공간에서 어디든지 움직일 수 있으므로 연결된 구조를 복잡한 모양으로 만들 수 있습니다.
스플라인 IK가 할당되면 각 노드에는 도우미 오브젝트가 자동으로 배치됩니다. 각 노드가 해당 도우미에 연결되므로 도우미를 움직여 노드를 이동할 수 있습니다. HI 솔버와 달리 스플라인 IK 시스템에는 목표를 사용하지 않습니다. 베지어 공간에서 노드의 위치는 연결된 구조의 모양을 결정하는 유일한 요소입니다. 노드의 회전 또는 배율 조정은 스플라인 또는 구조에 영향을 미치지 않습니다.
IK 솔버는 모든 오브젝트 계층에 적용될 수 있지만 IK 솔버를 골격과 결합하면 캐릭터를 애니메이션하는 데 좋습니다.
골격 시스템은 골격 오브젝트가 관절로 연결된 계층 링크입니다. 골격은 오브젝트가 연결되는 보강재로 사용됩니다. 스킨 수정자를 사용하는 경우 골격에 오브젝트를 피부로 입힐 수 있으며 골격의 애니메이션에 따라 캐릭터를 모델링하는 메시가 변형됩니다. 관절로 연결된 캐릭터의 경우 링크 또는 제한 조건을 사용하여 골격이 메시를 애니메이션하도록 할 수 있습니다.
피부가 있는 골격을 애니메이션하면 피부가 늘어나거나 줄어듭니다.
피부가 있는 골격을 애니메이션하면 피부가 늘어나거나 줄어듭니다.
모든 오브젝트는 골격 오브젝트로 전환할 수 있습니다. 오브젝트를 선택한 다음 애니메이션 골격 도구를 선택합니다. 오브젝트 특성 롤아웃에서 골격 설정을 설정합니다. 그런 다음 링크 표시만를 선택하여 오브젝트 표시를 골격으로 교체할 수 있습니다. 이 옵션은 기하학적으로 복잡한 계층의 애니메이션에 유용합니다. 형상이 숨겨지고 링크만 표시되면 대화식 뷰포트의 반응이 훨씬 빨라집니다.
모든 오브젝트는 골격 오브젝트로 표시할 수 있습니다. 오브젝트를 선택한 다음 애니메이션 골격 도구를 선택합니다. 그러면 골격 도구 플로터가 열립니다. 오브젝트 특성 롤아웃에서 골격 설정을 설정합니다. 그런 다음 디스플레이 패널의 링크 표시 롤아웃에서 링크 표시 및 오브젝트를 링크로 바꾸기를 설정하면 오브젝트 대신 골격이 표시됩니다. 이 옵션은 기하학적으로 복잡한 계층의 애니메이션에 유용합니다. 형상이 숨겨지고 링크로만 표시되면 대화식 뷰포트의 반응이 훨씬 빨라집니다.
모든 오브젝트 계층은 골격으로 표시할 수 있습니다.
모든 오브젝트 계층은 골격으로 표시할 수 있습니다.
모든 오브젝트 계층은 골격으로 표시할 수 있습니다.
골격은 시간에 따라 배율 조정, 스쿼시 및 스트레치할 수 있습니다. 오브젝트를 골격으로 사용을 참조하십시오.
링크 표시 및 오브젝트를 링크로 바꾸기를 사용하여 오브젝트 대신 링크를 표시할 수 있습니다. 이 설정은 디스플레이 패널의 링크 표시 롤아웃에 있습니다. 이 옵션은 기하학적으로 복잡한 계층의 애니메이션에 유용합니다. 형상이 숨겨지고 링크로만 표시되면 대화식 뷰포트의 반응이 훨씬 빨라집니다.
순운동학을 통해 캐릭터의 모션을 애니메이션하여 각 팔다리를 어깨에서 손가락까지 및 엉덩이에서 발가락까지 위치로 회전시킬 수 있습니다. 그러나 발과 지면과의 상호 작용을 역운동학을 사용하여 시뮬레이션하는 것이 훨씬 빠르고 더 사실적입니다. 또한 애니메이션을 변경해야 할 경우 더 쉽게 제어할 수 있습니다. 체인의 모든 골격에 키프레임을 배치하는 대신 하나의 노드만 변경하면 전체 체인의 애니메이션을 변경할 수 있습니다.
일반적으로 애니메이터는 다리에 IK를 사용하고 몸체과 팔에 FK를 사용합니다. FK는 상체의 포즈를 지정할 때 더욱 세부적으로 제어할 수 있습니다. 모든 캐릭터 애니메이션 작업에 IK가 필수적인 것은 아닙니다. HI IK 솔버를 사용하면 FK와 IK를 쉽게 전환할 수 있습니다.
골격 시스템을 만들 때 또는 애니메이션 메뉴에서 IK 솔버를 적용할 수 있습니다.
골격을 만들 때 IK 솔버를 바로 적용하도록 하위에 할당 옵션을 설정합니다. 기본적으로 해제되어 있습니다.
모션 및 계층 패널에서 IK 솔버 설정을 조정할 수 있습니다.
IK 체인의 목표를 선택하면 모션 패널에 각 IK 솔버에 대한 롤아웃이 표시됩니다.
모션 패널 매개변수는 솔버 평면의 회전 각도를 조정하여 무릎과 팔꿈치를 가리킵니다. 또한 IK 솔버 롤아웃 컨트롤의 사용 가능 버튼 및 IK 버튼을 사용하여 IK 주기와 FK(순운동학) 주기를 혼합할 수 있습니다.
모션 패널 매개변수는 현재 선택한 관절에 대해 엔드 이펙터를 할당, 제거 또는 편집합니다. 엔드 이펙터를 다른 오브젝트의 상위로 만들면 골격을 초기 포즈로 되돌릴 수 있습니다. 모션 패널에서 IK 제어기 매개변수를 변경하면 하나의 골격을 선택한 경우에도 전체 HD IK 체인에 영향을 줍니다.
IK 팔 다리 솔버의 모션 패널 매개변수는 HI 솔버의 경우와 동일합니다.
모션 패널 매개변수를 사용하여 솔버의 활성화/비활성화, 시작 및 끝 관절에 할당된 골격의 조정, 시작 및 끝의 비틀기 각도 조정 및 비틀기 핸들 표시를 설정할 수 있습니다.
골격을 선택하면 IK 패널에 회전 관절을 활성화하고 제한하며 관절의 기본 각도를 설정하는 컨트롤이 표시됩니다. 모든 관절의 기본 각도 포즈는 팔다리 회전 방향을 제어하는 데 도움이 됩니다. 목표를 선택하면 IK 패널이 공백으로 나타납니다.
HD IK 체인의 엔드 이펙터를 선택합니다. 계층 패널에서 IK를 클릭합니다. HD 솔버 컨트롤이 나타납니다. 또한 후속 오브젝트에 바인딩하고 우선 순위 및 관절 제한, 제동 및 스프링을 설정하는 도구도 제공됩니다.
골격을 선택하면 IK 패널에 회전 관절을 활성화하고 제한하며 관절의 기본 각도를 설정하는 컨트롤이 표시됩니다. 모든 관절의 기본 각도 포즈는 팔다리 회전 방향을 제어하는 데 도움이 됩니다. 목표를 선택하면 IK 패널이 공백으로 나타납니다. IK 솔버를 적용하기 전에 골격을 선택하면 다른 미끄러짐 및 회전 관절 매개변수가 표시됩니다. 그러나 IK 솔버가 적용되면 대체됩니다.
스플라인 IK 체인의 스플라인을 선택합니다. 계층 패널에서 IK를 클릭합니다. 스플라인 IK 솔버 컨트롤이 나타납니다. 또한 후속 오브젝트에 바인딩하고 우선 순위 및 관절 제한, 제동 및 스프링을 설정하는 도구도 제공됩니다. IK 패널의 컨트롤은 HD 솔버와 유사합니다.
IK 솔버를 계층 또는 골격 시스템에 추가하려면 다음을 수행합니다.
IK 팔 다리 솔버를 사용하는 경우 IK 솔버를 두 개의 골격을 제어하는 데만 적용해야 합니다.
IK 솔버가 뷰포트에 표시됩니다.
IK 솔버를 사용하여 골격 계층을 만들려면 다음을 수행합니다.
골격이 만들어지며 IK 솔버가 이미 적용되어 있습니다.
오브젝트의 계층을 골격으로 표시하려면 다음을 수행합니다.
그러면 골격 도구 대화상자가 열립니다.
오브젝트가 사라지고 링크가 골격으로 표시됩니다.