본문 바로가기
Maya

개 리깅연습6 : Blendshape 그리고 미러(mirror)하는 방법

by 흘림보 2020. 12. 22.

 

대망의 마지막 포스팅 ! 

 

이제 이거 끝나면 애니메이션 포스팅으로 넘어갈 예정이다. 

 

블랜드쉐입은 shape를 섞는 그 이름처럼 조인트와 별개로 매쉬로만 움직일 수 있다.

 

사실 정확히 말하면 vertex의 위치값을 옮기는 것인데,

 

매쉬의 vertex를 아무거나 클릭해보면

 

 

스크립트 에디터에 버텍스 번호를 볼 수 있다.

 

각 버텍스마다의 고유 번호들을 맞춰서 블랜드쉐입이 되는것이다.

 

그렇기 때문에 블랜드쉐입을 위해 만든 매쉬가 변형되어 버텍스 갯수가 추가되거나 삭제되는 등 의 경우엔 블랜드 쉐입이 되지않는다.

 

그러나 이 유의사항은 과거 피사체를 블랜드쉐입의 갯수만큼 복사해서 일일이 스컬팅을 했을때 이야기이다.

 

마야는 2016버전으로 넘어오면서부터 기능을 새롭게 바꿨는데, 기존 매쉬를 복사하지않고도 블랜드쉐입을 적용할 수있도록 디벨롭되었다.

 

지금은 마야2020기준으로 포스팅하고있기때문에 새 버전의 블랜드쉐입을 알아보자!

 

먼저 블랜드쉐입을 쓸 매쉬를 누른 후, Sculpting 탭에 빨간동그라미가 가리키고있는 블랜드쉐입 아이콘을 누른다.

 

 

 

 

 

그럼 이런 창이 뜨는데,

 

여기서 Create Blend Shape 을 눌러 해당 매쉬에 블랜드쉐입 카테고리를 만들어주고,

 

옆에 Add Target을 눌러서 블랜드쉐입을 적용해본다.

 

 

 

 

 

 

 

 

 

저 Edit에 빨간 불이 들어온 상태에서 , 개의 한쪽 눈을 감도록 해주었다.

*이때, 아래커풀은 되도록 조금만 움직이고 윗 눈커플을 아래로 덮는 식으로 눈을 감기게해야 자연스럽다.

 

이후 Edit 버튼을 한번 더 눌러 수정상태를 끝낸 후 움직여보면 눈을 깜빡이는 것을 볼 수 있다.

 

이제 다른 한 쪽눈도 동일하게 해주자,

 

블랜드쉐입을 미러하는 방법은 여러가지가 있는데,

 

1. 스크립트를 활용하는 방법

 

2. 스케일을 반전시켜서 wrap기능을 사용한 미러방법

 

3. 그리고 지금 사용할 블랜드쉐입의 타겟미러와 페인트를 활용한 방법이다.

 

 

만들어진 타켓을 클릭한 채로 Shapes의 Mirror Target을 눌러 창을 띄우면, 

Mirror Direction(미러방향)과 symmetry Axis(대칭 축)를 설정할 수있는데,

 

대칭 축을 X,Y,Z를 선택해서 할 수도있지만, 개의 경우 Topology로 해보기로 했다. 

 

 

 

 

 

저 옵션들을 설정해주고 Apply를 누르면 축이되는 가운데 엣지를 클릭하고 엔터를 누르라는 노티가 잠깐 떳다가 사라진다.

 

노티대로 가운데 엣지를 클릭해주고 엔터를 눌러주면 아래와같이 양쪽 모두 블랜드쉐입이 적용된 상태가 된다.

 

 

 

 

이 상태로 끝내도 충분히 괜찮지만 (보통 강아지가 윙크를 하진않으니까)

 

나는 오른쪽, 왼쪽을 Paint Blend Shape Weight Tool로 나누어 보기로했다.

 

먼저 기존 눈을 감았다가 뜨는 블랜드쉐입 타겟을 복사해주고, 오른쪽눈은 R_blink, 왼쪽 눈은 L_blink 등으로 네이밍 해주었다.

 

 

 

 

 

 

그리고 클릭된 개 위에서 마우스오른쪽버튼 - 홀드 를 하면 뜨는 핫박스에서 Paint - blendShape - baseWeights를 눌러줌

 

 

 

 

 

그럼 왼쪽 툴바 아래에 아이콘이 뜨는데, 더블클릭해서 창을 띄워준다.

 

개의 상태가 마치 스키닝할때 모습으로 바뀐다.

 

 

 

 

창도 스키닝하는 그창과 엄청 유사하지만 조인트가 있을 자리에 Target이 있고

페인트 기능도 동일하게 Replace, Add, Scale, Smooth 가 있다.

 

 

 

 

 

먼저 타겟영역을 잡아주기위해 R blink, L blink 의 Value를 0으로 한 뒤 Flood 버튼을 눌러 영역이 아무것도 설정되지 않는 상태로 해준다.

 

이때 Paint operation이 Replace로 되어있어야한다.

 

 

그리고 R_blink , L_blink 의 영역을 페인트 add, smooth로 잡아주었다.

 

 

 

이렇게 페인트 기능을 사용하면 오른쪽, 왼쪽 눈감는 블랜드쉐입을 간단하게 분리할 수있다.

 

 

 

이렇게만든 블랜드쉐입은 채널박스에서도 확인가능하다.

 

 

 

 

길고 긴 개 리깅 포스팅 끝,, 

 

다음 포스팅은 애니메이션 시작!