Body 리깅(14) 팔 리깅 - fk,BSkin 조인트 설치-
1 『fk컨트롤러 생성』
- 넙스 커브를 생성해서, Arm_L_fk_Ctrl ~ Elbow_L_fk_Ctrl ~ Wrist_L_fk_Ctrl 이름으로 피봇을 각 조인트 위치에 맞춰준다. (아래사진 참고)
- Arm_L_fk_Ctrl를 상위구조로 Hiearchy 구조를 만든다. (모두 Freeze한다.)
- 왼팔 fk 컨트롤러를, behavior 방식으로 오른쪽에 복사 & 적용한다.
- 오른팔 fk 컨트롤러도 왼쪽과 같은 parent 하위 Hiearchy 구조를 만든다. (아래 사진 참고)
2 『fk 조인트 & 컨트롤러 연결』
- Arm_L_fk_Ctrl를 먼저 선택하고, Arm_L_fk_jnt를 선택해서 parent constrain(maintain offset 체크)을 한다.
- Elbow ~ Wrist fk컨트롤러들도 Elbow_L_fk_jnt와 Wrist_L_fk_jnt와 parent constrain한다.
3 『BSkin조인트 생성하기』
- Arm_L_fk_조인트 체인을 복사(Ctrl + D)한 후, 내부 constrain들을 모두 삭제한다. 이름을 BSkin으로 만든다.
- Arm_L_BSkin_jnt , Elbow_L_BSkin_jnt , Wrist_L_BSkin_jnt로 이름을 설정한다.
4 『advance twist 조인트 생성』
- 상단 메뉴의 "skeleton -> insert joint"를 실행한다.
- Arm_L_BSkin_jnt를 선택한다.
- 조인트 4개를 추가한다. LRA 확인하기 (조인트 축이 ik와 같아야 한다)
- 마지막 조인트는 insert키를 눌러서 elbow에 붙인다.
- 나머지 3개의 조인트는 간격을 비슷하게 조절해준다. (아래사진 참고)
- elbow아래도 위와 같은 방식으로 적용해준다. (마지막 조인트는 Wrist에 붙이고, 나머지 3개는 간격을 조절)
- 생성한 조인트들의 축을 확인해본다. (fk,ik 조인트의 축과 같아야 한다)
- 이름을 설정한다.
* Arm_L_BSkin_jnt --> Arm_L_BSkin_twist_jnt1 --> Arm_L_BSkin_twist_jnt2 --> Arm_L_BSkin_twist_jnt3 --> Arm_L_BSkin_twist_jnt4
* Elbow_L_BSkin_jnt --> Elbow_L_BSkin_twist_jnt1 --> Elbow_L_BSkin_twist_jnt2 --> Elbow_L_BSkin_twist_jnt3 --> Elbow_L_BSkin_twist_jnt4
5 『Twist조인트 복사』
- 왼쪽 Bskin 조인트 체인 전체를, 오른쪽으로 미러복사한다.
6 『ik spline 커브 만들기』
- 조인트를 y축으로 회전시키려면, ik spline 핸들을 설치해야 한다.
- cv커브를 생성해서, v스냅으로 시작과 끝을 "Arm ~ Elbow" , "Elbow ~ Wrist" 각각 2개의 선을 생성한다.
- 커브 이름은, Arm_L_ikSpline_crv, Elbow_L_ikSpline_crv로 지정한다.
7 『ik spline설치』
- 상단 메뉴에서, "create ik Spline Handle" 옵션을 선택한다.
- 옵션창에서 auto create curve항목을 체크해제한다. (수동으로 커브를 만들어놨기 때문에)
- Arm_L_BSkin_jnt를 먼저 선택하고, Elbow_L_BSkin_jnt과 같은 피봇 위치에 붙어 있는Arm_L_BSkin_twist_jnt4를 클릭하고, Arm_L_ikSpline_crv를 선택한다. (ikSpline 생성됨)
- 생성된 ikHandle이름은 Arm_L_twist_ikHandle로 지정한다.
- Elbow역시 Arm과 같은 방식으로 ikSpline 핸들을 생성한다.
- Elbow_L_BSkin_jnt를 선택하고, Wrist_L_BSkin_twist_jnt4를 선택하고, Elbow_L_spline_Crv를 선택한다.
- 생성된 ikHandle이름은 Elbow_L_twist_ikHandle로 지정한다.
8 『skin바인드』
- 허리 리깅에서 했던 것과 같은 방식으로 Arm_L_Start_jnt , Arm_L_Middle_jnt, Arm_L_End_jnt를 생성해서, Arm, Elbow,Wrist에 v스냅한다. (radius 3정도로 가장크게)
- Arm_L_Start_jnt와 Arm_L_Middle_jnt를 동시에 선택한 뒤에, Arm_L_twist_crv를 선택한다.
- bind메뉴로 가서, skin bind를 실행한다. (Max influence:2, 아래사진 참고)
-Arm_L_Middle_jnt와 Arm_L_End_jnt를 선택한 뒤에, Eblow_L_twist_crv를 선택하고, skin->bind한다. ( Max influence : 2 )
- ikspline핸들 이름을 Arm_L_twist_ikHandle, Elbow_L_twist_ikhanlde로 지정한다.
- skin->bind를 끝내고나면, 아래처럼 ikBSkin조인트의 움직임은 Arm_L_Start ~ Arm_L_End 조인트가 조절한다.
9 『ikBSkin twist 설정』
- Arm_L_twist_ikHandle의 Attribute창에서, Advanced Twist Controls 항목으로 간다.
- 'Enable twist control'에 체크하고, World Up Type을 "object Rotation up( Start / End)"로 설정한다.
- World Up object에는 Arm_L_Start_jnt 이름을 타이핑하고, World Up object2에는 Arm_L_Middle_jnt를 타이핑한다.
- Up Vector, Up Vector2의 값은, y값을 1로 지정하고, x와z방향은 0으로 설정한다.
- Elbow_L_BSkin_ikHandle에도 Arm과 같은 방식의 Advanced twist controls 설정을 적용한다.
- 오른팔 Twist 컨트롤 설정도 왼팔처럼 진행한다.
- 오른팔에서 주의해야 할 점은, advanced Twist Controls의 Forward Axis, Up Axis값을 "Negative X, Negative Y"로 설정해야 한다는 점이다. (mirror로 조인트 축 방향이 왼쪽과 반대)
10 『ikfk 스위치 생성하기』
- 아래 사진처럼 ikfk 스위치를 넙스커브로 생성한다.
- add attribute기능에서, ikSwitch항목을 생성한다. ( float방식, min : 0, max : 1로 설정 )
- ik스위치에서 0값은 fk를 의미하고, 1은 ik를 의미한다. 여기서 enum방식으로 하고, fk,ik를 설정해도 상관없다.
11 『 아웃라이너 정리』
- 조인트, 컨트롤(그룹화), Etc항목을 정리해서 아웃라이너에 넣어준다. (아래사진 참고)
'애니메이팅' 카테고리의 다른 글
[Maya] Body 리깅(16) 팔 스트래치 리깅 (0) | 2019.05.22 |
---|---|
[Maya] Body 리깅(15) fk ik 스위치 visibility 설정 (0) | 2019.05.21 |
[Maya] Body 리깅(13) 팔 리깅 - 조인트 설정- (0) | 2019.05.19 |
[Maya] Body리깅 (12) 다리 fk조인트 설정 & 마무리 (0) | 2019.05.18 |
[Maya] Body 리깅(11) 다리 Stretch, AutoVolume 설정 (0) | 2019.05.17 |