본문 바로가기
Blender/Character Animation

눈꺼풀 리깅

by Alnilam 2014. 4. 22.


눈동자 리깅에 이어 눈꺼풀에 리깅을 추가하여 눈꺼풀을 깜빡이게 하겠습니다.


책에서 제공한 파일을 사용합니다.

003-Eyelids.blend



파일을 열어 보면 Otto 눈동자에 리깅이 되어 있는 것을 확인 할 수 있습니다.

그리고 미리 눈꺼풀에 weight paint 를 해두었고  Weight Paint 모드에서 확인 할 수 있습니다.

파란색은 웨이트 값이 0으로 아머튜어 본의 움직임에 전혀 반응 하지 않으며 빨간색으로 갈수록 가중치 값이 커지고 본의 움직임에 많이 반응 합니다.


아래 이미지는 버텍스 그룹에 미리 웨이트 페인트된 D_BottomEyelid.L 와 D_UpEyelid.R 의 이미지 입니다.

버텍스 그룹의 이름은 아머튜어의 Deform 본과 이름이 같아야 본을 움직였을 때 해당하고 버텍스 그룹의 메쉬가 따라 움직입니다.

그리고 왼쪽과 오른쪽을 구분하기 위해 접미사 L과 R를 붙여 주며 접미사가 있어야 나중에 한 쪽을 눈꺼풀을  리깅 후 복사하여 사용 할 때 자동으로 접미사를 변경해 줄 수 있습니다.


미리 설치된 눈동자 본 D_eye.L  를 선택하고 편집 모드로 변경 후 Snap(Shift+S) 기능을 사용하여 커서를 아래 이미지와 같이 D_eye.L의 머리 부분으로 이동 합니다. (그림은 D_eye.R 이 선택 되어 있지만 D_eye.L를 선택해야 함)


Add(Shift+A)기능을 사용하여 본을 추가 하고 꼬리 부분을 눈꺼풀 위에 맞춘 후 이름을 D_UpEyelid.L로 변경 합니다.  이 이름은 미리 웨이트 페인트 된 D_UpEyelid.L 버텍스 그룹과 이름이 같아야 합니다. ( 접두사 D 는 Deform를 의미 )


D_UpEyelid.L 의 꼬리에서 Extrude(E) 사용하여  T_UpEyelid.L 를 추가 합니다. (접두사 T는 Target 를 의미 )

꼬리 부분을 이동하여 아래 그림과 같이 크기를 줄여줍니다.

Clear Parent(Alt P)를 Relations를 Parent를 제거 합니다.

Shift W 를 사용하여 Deform를 비 활성화 하거나 아래 그림의 오른쪽 Relations 탭에 체크 되어 있는  Deform 체크를 비활성화 합니다.



같은 방법으로 D_BottomEyelid.L 과 T_BottomEyelid.L 본을 추가 합니다.

Target 본이 움직이면 따라서 Deform 본이 움직이도록 IK(Inverse Kinematics)를 추가 하기 위해 Pose Mode에서  T_UpperEyelid.L 를 선택 하고 Shift 키를 누른 상태에서 D_UpEyelid.L 를 선택 후 Add IK (Shift I) 의 To Active Bone를 선택 합니다. T 본을 움직이면  D 본의 꼬리가 움직이고 따라서 위 눈꺼풀이 움직이는 것을 확인 할 수 있습니다.


같은 방법으로 아래 눈꺼풀에도 IK를 적용합니다.

IK 가 적용된 Deform  본들이 노란색으로 변경 되었습니다.


위 아래 눈꺼풀을 하나의 본으로 조정하기 위해 M_Eyelid.L를 추가(Shift A) 합니다. (M 은 Mechanism 를 의미)


T_UpEyelid.L, T_BottomEyelid.L  본이 M_Eyelid.L 본의 Parent가 되도록 합니다.

T_UpEyelid.L 본 선택하고 M 본 선택 후 Make Parent(Ctrl P)의 Keep Offset 를 선택 합니다.

같은 방법으로 T_BottomEyelid.L 본 선택하고 M 본 선택 후 Make Parent(Ctrl P)의 Keep Offset 를 선택 합니다.


Pose Mode 에서 M_Eyelid.L 를 확대 하거나 축소 (S) 함에 따라 눈꺼풀이 닫혔다 열렸다 하는 것을 확인 할 수 있습니다.


이번에는 눈동자가 위로 움직일 때 눈꺼풀도 같이 움직이도록 하기 위해   LooAt 본을 복사 하여 M_EyeLid.L 앞으로 이동 하고 크기를 약간 줄인 후  이름을 EyeLid.L로 변경 합니다.

Eyelid.L 를 선택하고  Property Panel(N)의 Transform 탭에서 Scale Y만 제외 하고 모두 잠급니다.  그리고 Deform 선택을 비 활성화(Shif+W) 합니다.

Eyelid.L 선택하고 Shift 키 누른 상태에서 M_Eyelid.L 를 선택 하고 Copy Location (Shift Ctrl C) 를 선택 합니다. 선택 후 본이 변형 되지만 잘 못 된게 아니며 속성을 변경 하면 됩니다.


우측 속성 창의 Bone Constrains 에서 X와 Z를 비활성화 하고 Space 의 Local With Parent와 Local Space 를 선택 해줍니다.


M_Eyelid.L의 Y축 움직임을 제한 하기 위해 Limit Location (Shift Ctrl C)  를 추가 합니다.


Eyelid.L의 크기가 변경되면 M_Eyelid.L의 크기가 변경 되도록 Transform(Shift Ctrl C) 를 추가 합니다.

설정에서 Extrapolate 를 활성화 하고 Source EyeLid.L 본 Scale Y 0.5 에서 1.0 를 Destination Scale Y 0 에서 1로 변환 합니다. Space는 Local Space로 변경 합니다.


이번에는 Eyelid.L에 Limit Scale(Shift Ctrl C)를 Y 축 0.5 에서 1, Local Space 로 설정 합니다.


편집 모드에서 왼쪽 리깅을 복사(Shift D) 후 Specials(W) 메뉴의 Flip Name를 사용하여 자동으로 이름을 변경 합니다.


Flip Names 사용 후 우측 본들의 이름 접미사가 자동으로 R로 변경 되었습니다.


Pose Mode에서 EyeLid.L 본을 축소(S) 하면 눈꺼풀이 닫힙니다.


EyeLid.R 를 축소(S) 하면 우측 눈꺼풀이 닫힙니다.


양쪽을 같이 선택 하고 축소(S) 하면 양쪽 눈이 닫히는 것을 확인 할 수 있습니다.




003-Eyelids-complete.blend





'Blender > Character Animation' 카테고리의 다른 글

Face rigging  (0) 2014.05.20
동공 리깅  (0) 2014.04.29
눈동자 리깅  (0) 2014.04.08
목과 머리 제어  (0) 2014.04.01
숨쉬는 효과  (1) 2014.03.25