Technical/Riging

[MAX]IK Solvers

ParkJinseok 2021. 3. 1. 15:40

일반 IK와 Interactive IK의 차이

일반 IK

Interactive IK

Animation Key가 IK Chain 혹은 Bind Target에 적용되고 저장된다.

마우스 드래그에 의해 발생한 변화만 실시간으로 IK 반영 된다.

Bone01, Bone02, Bone03 등 IK Chain이나 Bind Target에 의해 수동적으로 움직이는 Bone에는 Animation Key가 적용되지 않는다.

Bind Target의 Animation 변화를 감지하지 못한다.

IK Chain이나 Bind Target에 발생한 Animation 변화를 모두 실시간으로 반영한다.

Apply IK 버튼을 통해서 IK를 FK로 샘플링한다.

 

IK 버튼의 기능

Inverse Kinematics Rollout

  • Interactive IK
    • IK Solver 를 사용하지 않고 IK 처럼 움직일 수 있게 한다 .

 

  • Apply IK
    • IK 설정을 계산해서 매 프레임마다 Animation Key 를 생성하고 IK Chain 에 있는 Object 들에게 적용한다.

 

  • Apply Only To Keys
    • IK 연산을 할 대 End-Effector 에 Key 가 있는 경우에만 Animation Key 를 생성한다.

 

  • Update Viewports
    • Apply IK 에 의해서 연산이 진행될 때 계산 과정을 Viewport 에 표시해준다.

 

  • Clear Keys
    • Apply IK 를 적용할 때 기존에 이미 적용된 Animation Key 를 모두 제거한 뒤 IK 연산을 시작한다.

 

  • Start / End
    • IK 계산을 하는 범위를 설정한다 .
    • Apply IK 의 기본 셋팅은 Active 영역에 대해서 Frame 을 계산한다.

 

Object Parameters Rollout (HD Solver)

  • Terminator
    • 하나 이상의 Object 를 Terminator 로 지정함으로써 IK Chain 의 시작점으로 지정한다 .
    • Terminator 를 켜면 IK Chain 이 Terminator Object 전까지만 작동하게 됨.

 

  • Bind to Follow Object (HD Solver) Position / Orientation
    • HD IK Chain 의 Object 를 Bind 해서 월드에 종속될지 특정 오브젝트에 종속 될지 결정한다.
    • End-Effector와 비슷한 기능.
    • End-Effector에만 Key를 줄 경우 각 Bone들에는 Key가 찍히지 않기 때문에 위의 Apply Key를 사용해서 Key를 찍어줘야 함.
    • 특정 Object 에 Bind 할 경우 해당 Object 는 같은 계층 구조에 있는 Object 이면 안된다.

 

  • Weight
    • 여러 개의 Object 에 다른 Weight 값을 줘서 다양한 표현을 할 수 있음 .
    • Weight 는 Object 사이의 상대적인 값이기 때문에 1 개 Object 에만 Weight 를 조절하는 것은 아무 의미가 없다.

 

  • Precedence (HD Solver)
    • 계층 구조내에서 IK 연산이 진행되는 순서를 결정 짓는 값.
    • 각 Bone마다의 회전 값을 결정 짓는 Option
    • Biped 의 Ankle Tension 과 비슷한 기능
    • Precedence 의 값이 높을 수록 먼저 움직이게 됨 (덜 회전함).
    • 직접 입력해도 되고 'Child->Parent' 나 'Parent->Child' 를 클릭해서 자동으로 입력 되도록 할 수 있다.
    • 같은 값을 가질 경우엔 'Child->Parent' 로 작동한다.
    • Interactive IK 를 사용 할 때 Precedence 의 기본 값은 전부 0 이기 때문에 우리가 일반적으로 알고 있는 끝 본쪽부터 움직이는 형태 (Child->Parent) 가 된다.
    • 하지만 , 전체 본들을 모두 선택하고 Precedence 를 'Parent->Child' 로 변경하면 가장 상위의 Bone 부터 움직이기때문에 전혀 다른 움직임이 된다.

 

  • Copying, Pasting, and Mirroring Joint Paremeters
    • Slinding Joints와 Rotational Joints의 설정 값을 Copy & Paste 할 수 있음.

 

 Auto Termination Rollout

  • Interactive IK 에만 적용 되는 기능이며 , 현재 선택한 Bone 을 기준으로 ' # of Links Up ' 에 입력한 숫자만큼 ( 현재 선택한 Bone 포함 ) 의 상위 Bone 까지만 IK 가 적용 된다 .