Maya

37일차 - IK핸들을 이용해 리깅하기

비프로 2021. 11. 14. 22:14
728x90
반응형

- 37일차 -

 

오늘은 지난 첫 리깅수업에 이어서 계속 작업을 진행해볼게요.

 

 

모델링을 기준으로 왼다리만 기본리깅작업을 했기에 오른쪽다리에도 대칭복사를 해줄거에요.

'F3 - Skeleton - Mirror Joints옵션'으로 들어가서 대칭복사를 할 수 있어요.

'Mirror across'에보면 3가지 옵션을 확인할 수 있는데 각각 'Z', 'X', 'Y'가 빠져있는걸 확인할 수 있어요.

우리는 'X축'으로 대칭을 할것이기에 'X'가 빠진 'YZ'를 선택하면 돼요.

 

'Mirror function''Behavior''Orientation'이 있어요.

'Behavior'는 축까지 대칭을 한다는 의미에요.

 

축의 방향이 뒤집혔을뿐이지 위치가 달라지는것은 아닌데

왼쪽다리같은 경우는 'X축'이 아래를 향하게되고 오른다리는 'X축'이 위를 향하게돼요.

축이 바라보는 방향이 다를뿐이지 축 자체가 변한것은 아니에요.

하지만 축이 바라보는 방향이 '+', 축이 바라보지않는 방향이 '-'라서 이후에 수치를 어떻게 입력하느냐에 따라 모양이 달라져요.

 

'Orientation'은 좌우의 모습이 똑같고 축의 방향도 똑같이 복사가돼요.

그렇기에 'Orientation'을 사용해볼게요.

 

'Replacement names for duplicated joints'는 관절을 복사할 때 오브젝트가 가진 이름을 수정할 수 있어요.

왼다리에 사용된 오브젝트에는 이름앞에 왼쪽이라는 의미의 'L'을 붙여줬고

복사하게될 오른다리는 'R'로 수정을 하면서 대칭복사를 한번에 진행할 수 있어요.

 

'Outliner'를 보면 대칭복사가 잘 된것을 확인할 수 있어요.

그룹을 한번에 풀때는 'Shift + 클릭'을 사용하면돼요.

 

 

상단 리깅도구모음창의 3번째에 있는 'Create IK Handle'을 이용해서 작업을 계속 진행해볼게요.

 

 

'IK Handle'을 선택하고 허벅지조인트와 발목조인트를 선택하면 중간에 선이 이어지는걸 확인할 수 있어요.

선의 명칭을  'IK Handle'이라고 해요. 'IK'는 자동으로 움직이는 방식을 뜻해요.

 

'IK Handle'은 선택의 우선순위가 높아서 '클릭 - 드래그'를 하면 가장 먼저 선택이 돼요.

 

'IK Handle'을 여러개 더 제작을 해서 작업을 진행해볼게요.

'발목 - 발볼', '발볼 - 발끝'을 연결해서 총 3개의 'IK Handle'을 생성했어요.

 

'IK Handle'의 이름들도 이어지는 두번째부위의 명칭으로 이름을 수정하고 각 오브젝트들을 그룹으로도 묶어줄게요.

그룹명을 자세히보면 'Ankle''Toe'의 그룹이름을 서로 바꿨는데 각 그룹의 중심축을 그룹의 이름을 기준으로 위치시켜줄게요.

 

각 그룹들을 묶어줄건데 '넣고싶은 그룹'을 선택하고 '넣을 그룹'을 중복선택해주고 'P'를 눌러주면 하위그룹으로 이동해요. 'Parent''P'인데 'Constrain''Parent'와는 다른 특징을 가져요.

'Constrain''Parent'는 연결을 해주는 기능이지만 그룹을 묶을때의 'P'는 하위그룹에만 넣어주는 기능이에요.

 

여기까지하면 발을 움직일 준비가 됐는데 그룹을 만들어서 작업을 하는 이유는 애니메이션작업을 할 때 축을 다르게 설정해야하는 경우가 있어요.

원본오브젝트와 그룹의 중심축을 다르게 설정할 수 있거든요.

또, 'IK Handle'에 직접적으로 애니메이션을 넣지는 않을건데 연결이 끊어지는 경우가 있어요.

애니메이션을 만들때는 그룹을 만들어서 효과를 넣는식으로 작업을 진행할거에요.

 

 

'Curves / Surfaces'도구모음창에서 'NURBS Circle'을 이용해서 작업을 계속 진행해볼게요.

 

'Vertex'를 움직여서 발의 형태로 잡아줄거에요.

이후 좌우대칭을 염두해서 구별이 갈 수 있는 형태로 만들어주는게 좋아요.

 

발바닥과 발가락과 뒷꿈치부분 총 3개로 형태를 잡아줬어요.

모델링보다 바깥쪽으로 만드는게 좋으며 다 만들었으면 'Freeze'와 히스토리초기화까지 할게요.

작업의 편의성을 위해 이름도 수정을 해줘야합니다.

 

 

발을 움직일 때 발바닥을 붙이고 있는 상태라 가정하면 발을 움직이기 위해 최소 몇개의 축이 있어야할까요?

발가락 끝과 귓꿈치 끝에는 1개씩이 필수일테고 발볼 양쪽에도 1개씩이 필요하니 최소 4개가 필요하며

더 추가를 하고싶다면 발가락 하나하나를 축으로도 사용이 가능해요.

뒷꿈치의 양쪽도 축으로 사용가능하며 발바닥의 중간도 축으로 사용이 가능할거에요.

즉, 축은 얼마든지 사용할 수 있지만 지금은 앞서말한 최소 4개의 축만을 사용해볼게요.

 

발가락끝, 뒷꿈치끝, 발의 양볼끝, 발목까지 총 5개의 'Locator'를 설치했어요.

마찬가지로 'Freeze'를 하고 히스토리초기화까지 한 뒤 전부 하위구조로 묶어줄건데 여기서 순서가 중요해요.

 

뒷꿈치 로케이터 선택후 뒷꿈치 컨트롤러에 P

뒷꿈치 컨트롤러 선택후 발가락끝 로케이터에 P

발끝로케이터 선택후 발가락 컨트롤러에 P

발가락 컨트롤러 선택후 볼아웃(바깥쪽 발볼) 로케이터에 P

볼아웃 로케이터 선택후 볼인(안쪽 발볼) 로케이터에 P

볼인 로케이터 선택후 발목로케이터에 P

발목 로케이터 선택후 발바닥 컨트롤러에 P

IK핸들그룹을 선택후 발끝로케이터에 P

 

순서대로 정확히 그룹화해주면 위와같은 그룹이 만들어지며 발바닥컨트롤러를 선택하고 움직이면 왼다리가 움직여요.

 

좀 더 정확히 작업하고싶으면 컨트롤러들의 중심축도 설정을 해주면 좋아요.

앞쪽과 뒷쪽의 중심위치는 크게 상관없지만 각 로케이터의 위치에 컨트롤러의 중심축도 맞춰줄게요.

발바닥 컨트롤러는 발목쪽으로 중심축을 옮겨놓을게요.

 

 

발바닥컨트롤러를 선택하고 채널박스에서 'Edit - Add Attribute'로 조절가능한 수치를 하나 추가해줄게요.

 

'Long name'에는 'Rotate_L_R'이라는 이름을 적어주고 'Data Type''Float'을 선택해줄건데 어디서부터 어디까지라는 범위를 정해주는 설정이며 'Numeric Attribute Properties'에서 'Minimum'에는 '-30''Maximum'에는 '+30'을 적어 범위를 지정해줄게요.

 

앞뒤로 움직일 때 사용할 'Rotate_F_B'도 같은 설정값으로 만들어줄게요.

 

채널박스에 새로만든 설정이 나오는데 '-30 ~ +30'까지의 범위내에서 사용할 수 있어요.

여기서 아무 값이나(여기선 적당히 Scale X값을)선택하고 'Edit - Set Driven key'를 선택해볼게요.

 

서로다른 물체들의 채널박스에 들어있는 속성값들을 연결해주고 싶을 때 사용할 수 있는 공간이에요.

어떤 물체가 'X방향'으로 회전하면 다른 물체도 'X'방향으로 회전할 수 있도록 직접 움직일 대상을 'Driver'에 위치시키고 'Driver'에 넣은 오브젝트가 움직였을 때 변화가 생겨야하는 오브젝트를 'Driven'에 넣어 사용해요.

 

발바닥컨트롤러를 선택하고 'Load Driver''Driver'에 추가해주고

'볼인, 볼아웃, 프론트, 백' 4가지 로케이터를 'Load Driven'으로 'Driven'에 추가해줄게요.

 

'Driver'에서 'Rotate_L_R'을 선택해주고 'Driven'에서 좌우에 해달하는 '볼 인, 볼 아웃 로케이터'를 선택해주고 회전할 방향인 'Rotate Z'를 선택해주고 'Key'를 선택해서 디폴트값을 지정해줄게요.

 

발바닥 컨트롤러를 선택하고 'Rotate_L_R'의 값을 '-30'으로 지정해주고

 

볼 안쪽 로케이터를 선택하고 몸의 안쪽으로 회전해서 발을 안쪽으로 꺽어주고(Rotate Z값 40)다시 'Key'로 설정해줄게요.

 

이번에 'Key'할때는 'Driven'에선 볼 안쪽만을 선택해줘야합니다.

 

발컨트롤러의 'Rotate_L_R'값을 '+30'으로 지정해주고 발 바깥쪽 볼 컨트롤러를 바깥쪽으로 회전(Rotate Z값 -70)으로 회전해주고 볼 바깥쪽만을 선택해주고 'Key'를 해줍니다.

 

이제 발컨트롤러를 선택하고 채널박스의 'Rotate_L_R'값을 조절해주면 이전에 적용한 각도까지 발을 꺽을 수 있어요.

가장 처음에는 디폴트값인 0에서 'Key'를 해주고 각각 방향에 맞는 각도값을 선택해서 'Key'를 해준뒤 채널박스에 새로 추가해준 조절값으로 움직임을 만들어낼 수 있어요.

 

같은 방식으로 'Rotate_F_B'값을 설정해 '-30'일때는 발가락끝이 들리도록, '+30'일떄는 뒷꿈치가 들리도록 설정했어요.

 

 

 

-

 

오늘은 'IK Handle'을 이용해서 신체의 일부를 지정한 값까지 움직일 수 있도록 만들었어요.

이 기능을 사용한다면 자동차 핸들을 돌렸을 때 바퀴가 회전하는 등의 표현을 만들어 낼 수 있을것같아요.

마침 제가 지금 지게차를 모델링하고있는데 완성되는대로 적용을 해보도록 할게요.

오늘 정리한 내용들은 리깅을 하면서 계속 사용될 기능일것 같아요. 많은 복습을 통해서 꼭 숙지해야겠습니다.

 

-

 

반응형

'Maya' 카테고리의 다른 글

39일차 - 걷기 애니메이션  (0) 2021.11.16
38일차 - 다리리깅 마무리, 몸리깅 시작  (0) 2021.11.15
36일차 - 프라이팬으로 음식만들기  (0) 2021.11.11
35일차 - 리깅  (0) 2021.11.11
34일차 - 애니메이션  (0) 2021.11.09