Maya/Rigging

Maya Rigging 기초 1

경 울 2023. 11. 11. 20:32
728x90

1. joint 만들기

  • Skeleton - create joint - 마우스 십자 모양일 때 클릭하여 joint 생성 - 엔터키로 완성

2. joint 움직이기 : 기본적으로 child 관절들이 함께 움직임

  • D : 해당 관절만 움직이고 싶을 때 move 나 rotate 모드에서 D 버튼을 누른다.

3. 실행 취소

  • backspace 도 가능

4. 수직 / 수평적인 joint

  • Shift 누른 채로 생성

5. parent 로 joint 연결 및 해제

  • P : parent 로 연결. child가 될 관절을 먼저 선택하고 shift를 사용해서 parent 관절 선택 후 P
  • shift + P : unparent, parent 연결 해제. child 관절 먼저 선택 후 shift + P, 상위 - 하위 joint 가 끊어짐

6. sclae

기본적으로 해당 뼈만 scale 이 조절됨 - 마야에 있는 모든 노드들은 뼈끼리 Inverse Scale 으로 연결되어 있음

joint 들의 hierarchy node tree

  • 만약 하위 joint 들의 크기도 함께 조정하고 싶다면?

하위 joint 들에서 해당 attribute를 체크 해제 해주면 됨 (근데 이럴 일은 없다~)

7. joint 이어서 연결하여 생성하기

해당 joint 를 선택한뒤 create skeleton

joint 를 선택하려면 해당 joint 위에서 마우스 우클릭 -> select (그냥 joint 를 클릭해도 되긴 하던데 난 안됨)

8. Remove joint

해당 joint 가 사라짐

but, 해당 joint의 상위 joint와 하위 joint가 연결되면서, parent 관계는 유지됨(아예 끊어져버리는 unparent 와 다른 점)

 

9. connect joint

선택된 두 joint 연결, sibling 이 됨

10. disconnect joint

joint를 분리

해당 부분에서 joint가 하나 더 생성되고, 선택된 joint 는 분리되어져 나오면서 joint가 변형없이 유지됨

 

11. reTopology

  • skin weight 를 할 수 있는 topology 를 만듬 (단추, 재봉선 등,,, 토폴로지가 어렵게 되어있는 상황)
  • 큐브를 많이 꺼내서 작업을 한다. 키보드 B키, 말발굽 키 등을 사용해서 근처 매쉬에 붙도록 해줌
    • -> 더미를 하나 만들어주면 (weight 칠하기가) 작업하기 굉장히 수월해진다.

12. T pose

카툰 애니메이션에서 많이 사용함.

  • 장점 : 만화적인 표현하기 좋음
  • 팔을 내일때 부자연스러움최근에는 collect of shape 덕에 경계가 많이 사라짐
  • <-> A pose : Vfx, game 쪽에서 많이 사용 (어깨라인 실루엣이 중요하기 때문)

13. FK? IK?

  • FK : Forward Kinematics : 상위가 움직이면 하위가 따라 움직임
  • IK : Inverse Kinematics : 하위가 움직이면 상위가 따라 움직임

 

14. Human IK 사용하기

전체 뼈대를 하나하나 만들어줘야 하는게 기본이지만 Human IK를 쓰면 더 편하다.

1) 크기 조정하기

  1. Charactor Scale 값을 직접 조정하지말고, front view 에서 팔정도까지 맞춰줌
  2. Human IK 옵션을 바꾸면 Scale이 1으로 자동으로 초기화됨

2) Bone 설정, 명칭

체크를 해제하거나 숫자를 조정함으로써 자동으로 bone을 만들어줌

  • Scale and Bones
    • Spine : 척추
    • Neck : 목뼈
    • Shoulder / Clavicle : 어깨, 쇄골뼈

  • Finger Bones
    • Index : 검지
    • Middle : 중지
    • Ring : 약지
    • Pinky : 소지
    • Thumb : 엄지

3) Human IK 와의 연결고리 끊기

joint 을 알맞게 만들었으면, 조정 전에 연결을 끊어준다. 꼬여서 터질 수도 있기 때문

  1. Outliner - Display - DAG Objects Only 체크 해제 (모든 요소들이 보이게 됨)
  2. HIKSkeletonGeneratorNode 삭제
  3. 해당 노드를 삭제하고 나면, Human IK 인터페이스에서 설정을 바꿔도 더이상 생성된 joint 에 영향이 가지 않는다.

joint이 수정되지 않고 에러메세지가 뜨는 모습

15. X-ray joint 활성화

리깅 작업을 할 때에는 x-ray joint를 활성화 시켜야 편함

X-ray joint 활성화
X-ray joint 비활성화

16. Roll Joint 의 필요성

  • 특히 어깨나 다리가 Y축 방향으로 회전할 때, 모델이 부자연스럽게 찌그러짐
  • 손목 또한, 해부학적으로 봤을 때 손목 뼈가 돌아가지 않음 (이건 탈골) 손목 윗부분의 뼈들이 트위스트 되면서 손이 돌아가는 것이므로, 이 부분에도 roll joint 를 심어줘야 함
  • 회전될 때, roll joint 가 반대로 회전되면서 모양을 맞춰줘야 함

Roll joint 세팅 예시

17. Roll joint 간단 세팅

  • Roll joint 를 가지는 Root 는 weight 값을 가지지 않도록 함 (ex. 어깨, 다리)
  • Roll joint 가 weight 값을 가지도록 함
  • 때문에, Root 와 Roll joint 가 가까이 있는 것이 좋음
  • weight 제외 후 skinning
    • Root joint 선택
    • hirearchy 로 모든 하위 joint 선택
    • weight 값을 가지지 않아야 하는 joint 를 ctrl 로 제외
    • skinning 시 Bind to 'Joint hierarchy' : 내가 선택한 것들을 기준으로 바인딩
  • Node editor 사용 :: 어깨, 다리 등이 회전될 때, roll joint 가 반대로 회전되도록 세팅
    • root, roll joint 클릭 후 add node
    • Node editor 단축키
    • MultiplyDivide Node : 값을 곱하기 / 나누기 해줌
    • Root 노드 - Multyplydivide 노드 - Roll 노드 연결
      • .Root : Rotate Y - Multyplydivide : Input - Input1Y
    • . Multyplydivide : Output - OutputY - Roll : Rotate Y
    • Multyplydivide Node 수정
      • Operation : Divide
      • Input2 : 음수로 알맞게 조정
        중간 노드로 인한 Inverse 변환이 잘 이루어진 모습

18. Skinning

  • root joint 선택
  • ctrl + body 선택
  • skin - bind skin

 

19. weight 작업

  • weight?
    피부에 대한 관절의 영향력
  • 모델링 선택 후 skin - skin - Paint Skin Weights

 

  • 각 관절마다 스킨이 얼마나 영향을 받는지 알 수 있음
  • B + 마우스 좌우 움직일 시 페인트 붓 크기 조정 가능
  • Value 값을 0으로 설정하고 칠해주면 해당 관절에 전혀 영향을 받지 않게 됨

20. 모델 위치값 초기화

  • 모델 선택 후 Modify - Freeze Transformations

 

21. joint 펼치기

  • shift : + 모양

22. 뼈 맞추기

  • 한쪽 뼈만 만들고 미러링 하면 되므로 반대쪽 뼈는 삭제해주고 진행

0) 모델링의 모양에 맞도록 뼈를 배치

  • Wireframe on shaded
    모델의 윤곽을 나타냄

  • 골반 뼈
  • 무릎 뼈는 살짝 앞으로 내줌 : 너무 직선이면 다리가 휘지 않음

1) 축 방향 바꾸기

  • 뼈의 진행 방향대로 하위 뼈들을 이동시키고 싶을 때, 축의 방향을 word -> object 로 바꿔줌 : 상위 joint 의 rotation 방향을 따라감
  • W(move) + 마우스 왼쪽 꾹 / ctrl + shift + 마우스 오른쪽 -> world 에서 object 로 변경
    move, rotation, scale 모두 가능

Q. rotation 하여 위치를 맞추는 것과 move 하여 위치를 맞추는 것의 차이?

A. rotation 으로 맞추는 게 편하다. 뼈의 진행방향대로 늘리고 줄이는 것이 간편함

2) Layer 사용

조금 더 편하게 작업하기 위해 레이어를 사용

  • 모델 선택 후 Diplay - 가장 오른쪽 아이콘

3) joint display 크기 조정

(1) Radius 값 조정

joint object 를 선택해서 조정하기
해당 joint 에만 적용됨

(2) display - animation - joint size 조정

Display - Animation - Joint Size
화면의 모든 joint 에 적용

4) child 요소 모두 선택하기

(1) root 선택
(2) select - hierachy

흰색으로 모든 joint가 선택된 것을 확인

 

 

728x90