Technical/Riging

[MAX]Hierarchy

ParkJinseok 2021. 3. 1. 15:02

Pivot

Adjust Pivot Rollout

  • 이 기능들은 절대로 Bone에 사용하면 안됨.
  • Bone은 개념적으로 Pivot 그 자체이기 때문에 Bone에 적용해야 할 경우에는 Bone Tools의 Bone Edit Mode를 사용해야 함.

Affect Hierachy Only

  • Rotation과 Scale에만 적용 됨.
  • 선택한 Object의 자식들에게 영향을 주게 되는데, 자식들의 Pivot 방향은 변하지 않고 서로 간의 상대적인 위치가 변경 된다.
  • AutoKey를 끄고 Key 주는 것과 비슷한 느낌으로 전체에 영향을 주게 되지만 선택한 Object가 움직이는 것이 아닌 자식들이 움직이게 됨.

 

Adjust Transform Rollout

Don't Affect Children

  • Bone Tools에 있는 Bone Edit Mode와 동일한 기능
  • 일반적으로 부모를 변경 시키면 자식이 변화를 물려받지만 이 버튼을 활성화 할 경우 자식에게 영향을 주지 않음
  • 외부적으로는 아무런 변화가 없는 것 처럼 보이지만 내부적으로 더 복잡한 상황이 됨.

Transform

  • 선택한 Object의 Local 축을 World 방향에 맞게 정렬 시킴.
  • 이 때, 선택한 Object나 자식 Object도 겉으로 보기엔 변화가 없어보이지만 내부적으로 변화가 생김.

Scale

  • 선택한 Object의 Scale 값을 초기화 시킴.
  • 아무런 변화도 없어 보이지만 선택한 Object나 자식 Object도 겉으로 보기엔 변화가 없어보이지만 내부적으로 변화가 생김.
  • Non-Uniform Scale이 상속되는 문제를 해결하는데 사용 됨.

 

Skin Pose Rollout

Set As Skin Pose

  • 특정 포즈를 Skin Pose로 저장 함.

Assume Skin Pose

  • Set As Skin Pose로 저장한 Pose로 돌아감.
  • Assume Skin Pose를 한 프레임에 Key가 찍히게 됨.

SkinPose Mode

  • Set As Skin Pose 포즈에서 설정한 Pose로 돌아감.
  • Biped Figure Mode와 비슷한 기능
  • Set As Skin Pose와 같이 특정 포즈를 저장하는 기능을 함.

Link Info

Locks Rollout

  • Lock은 단순히 마우스 드래그에 의한 움직임만 막아 줄 뿐임.
  • 복잡한 Rigging에서 애니메이터의 실수를 막아주는 정도의 기능으로 사용 됨.

Inherit Rollout

  • Inherit Option을 모두 꺼주면 외부적으로 자식으로서의 특징을 가지지 못하는 것처럼 보임.
  • 하지만 Link는 연결 되어있기 때문에 Local Position & Rotation은 계속 변하게 됨.


Inherit와 Reset Scale

Inherit

  • 상속(Inherit)의 특징은 부모가 이동, 회전 또는 스케일의 변화가 발생할 때 결과적으로 자식의 위치와 각도와 크기가 달라져 보이지만 자식의 Local 값에는 아무런 변화가 발생하지 않는다. 외부적으로 달라져 보이기만 하는 것이다.
  • 복잡한 Link 연결 구조에서의 Non Uniform Scale에 관련된 문제는 Reset-Scale 기능으로 해결할 수 있다.
  • 부모의 Non-Uniform Scale과 자신의 Non-Uniform Scale이 합쳐지면 예상하지 못한 Transform이 발생 할 수 있음.

 

Inherit Option을 모두 껐을 때, Link가 연결되는 순간 자식(Child)의 Local 값 변화

  • 부모의 Scale 값은 자식의 Local Scale에 영향을 주지 않음.
  • 부모의 Position과 Rotation 값은 자식의 Local Position과 Local Rotation에 영향을 줌.

 

Inherit Option을 모두 껐을 때, 부모(Parent) Transform이 달라질 때 자식(Child)의 Local 값 변화

  • 부모의 Position, Rotation, Scale 등 Tranform 변화는 '겉으로 보기에' 자식에게 아루먼 영향을 주지 않음.
  • 부모의 Position, Rotation 변화는 자식의 Local Position과 Local Rotation을 변화 시킴.
  • 부모의 Scale 변화는 자식의 Local Scale 값을 변화시키지 않음.

 

Reset Scale

  • 복잡한 Link 관계에서의 Local Transform 값의 변화를 이해하는 것을 쉽지 않기때문에, 일반적으로 Bone에 Scale 값을 주지 않는다.
  • Rigging을 마무리하고 모든 Bone의 Scale 값을 초기화 시키기 위해 Bone Tools의 Reset Scale을 눌러준다.

Reset Stretch

  • 아래 이미지에서 빨간 Bone은  X축으로 Scale을 늘려서 크기를 키운 것이고 파란 Bone은 Freeze Length Option을 끄고 자식 본을 이동시켜서 늘린것이다.
  • 파란 Bone의 경우엔 Scale은 변화가 없이 Stretch Factor 값만 변화한 상태로 크기가 변했는데, Scale을 변경할 경우 자식에게 상속이 되어 예상할 수 없는 문제가 발생할 수 있는 반면에 Stretch Factor 값은 상속 되지 않는다.
    (근육과 같이 늘어나야하는 Rigging에서 사용하기 좋음)
  • Rigging을 완료한 후에는 Reset Stretch를 눌러 Stretch Factor 값을 1로 초기화 시켜줘야 한다.
    또한, 게임엔진에서 Stretch가 적용 되는지도 확인이 필요하다.

 

  • ObjectTM(Object Transform) = ObjectOffsetTM * StretchTM * NodeTM
    즉, Object의 Transform = Offset 값과 Stretch 값과 Node 값이 모두 반영되어서(곱해져서) 결정 됨.
  • ObjectOffsetTM
    Object Pivot으로부터 Object가 얼마나 떨어져 있는지를 결정하는 값
  • StretchTM
    Bone의 자식 이동에 의한 부모 Bone의 Scale 변화 값
  • NodeTm
    기본적인 Position, Rotation, Scale