본문 바로가기
3DMAX/Setup

캐릭터 셋업 책 정독 및 정리 - 4차 캐릭터 셋업 실전 가이드(2)

by tartist 2015. 12. 17.

8. 꼬리와 포니테일


(1) 플립현상을 개선한 Spline IK 제작

  • 6번에서 만들었던 난플립 셋팅 방식을 사용하면 된다.

        

    

  • 바로 상위에 있는 본을 따라가는 구조가 되도록 난플립 방식으로 각 본마다 셋팅한다.

  •  

  • 핑속님이만든 SOK_NonFlipBone 스크립트를 사용. 동일한 반복작업을 최소화 할 수 있다.

 

 

(2) Stretch 컨트롤 추가

  • Freeze Length 체크를 해제 하면 자식본에 의해 사이즈가 변환된다.

  • $.stretchTM.scale을 활용하면 얼만큼 사이즈가 늘어나는지 확인이 가능하다. 자식본의 로컬 트랜스폼에 의해 변화가 일어난 부모본의 스트레치 값 확인

  • Stretch를 조절해줄 조절자 더미를 만들어 파라미터 에디터에 연결해 준다.

  • 더미와 연결될 본들은 SplineIK로 만들어 최초 더미와 본을 조절자 더미에 링크해준다.

  • 파라미터가 생성되면 더미와 하위 본들과 와이어 파라미터로 연결해 준다.

  • 연결하기 전에 페이런트로 했을 때 얼만큼의 로컬 포지션이 움직여 졌는지 확인한다.

  • 움직인 로컬 수치를 저장하고 와이어 파라미터를 연결한다.

     

  • 스트레치값에 100을 나누는 이유는 어트리뷰트 값의 디폴트가 100으로 되어 있기 때문이다. 그래야 1이라는 수치가 나와 로컬 포지션인 32.668의 값을 보기 좋게 조절하게 된다.

 

  • 하위 본들도 모두 위와 같은 방식으로 연결해 주면 파라미터 수치로 전체 사이즈 조절이 가능해 진다.

 

 

(3) Tentacle 속성 추가하기.

  • Tentacle 기능은 부가적인 기능으로서 알아두기만 하자. 계산에 의해 이루어지는 프리시쥴 애니메이션이라 할 수 있다.

  • 시중에 텐타클 제어가 가능한 다양한 스크립트들이 많은데 그 중에 편하게 테스트가 가능한 툴을 소개한다.

 

 

  • 이 툴을 활용하면 수학적으로 게산된 텐타클 본 생성을 편하게 할 수 있다.

  • 스크립트를 활용하여 본을 만들고 텐타클 파라미터를 활용하여 어떤식으로 움직이는 본을 만들지 조절하여 사용 할 수 있다.

  • 텐타클 본을 기존에 생성했던 난플립 본에 와이어로 연결해 주면 난플립본의 장점과 텐타클 본의 장점을 함께 사용할 수 있다.

  • Z로테이션의 스크립트를 열어보면 공식을 알 수 있다.

  • 텐타클본의 z축과 난플립본의 y축을 연결해 준다. 각각 본마다 다 연결해 준다.

  • 이 과정을 마친 후 전 과정에 스트레치 조절용으로 사용했던 조절자 더미에 텐타클 이펙트를 조절할 수 있는 파라미터를 추가후 연결해 주면 두가지를 다 조절할 수 있는 파라미터 에디터 생성이 가능해 진다.

  • 조절자에 키를 주면서 다양한 느낌을 추가 할 수 있다.

 

 

(4) 스프링 테일(Spring Tail)

  • Bone01Point01을 바라보는데 Point01Dummy01의 자식으로 링크되어 있다. 그리고 Bone02Point02를 바라보는데 Poit02Bone01의 자식으로 링크되어 있다.

  • 이 방식은 우리회사에서도 가장 많이 쓰는 방식으로서 범용적으로 많이 쓰이는 방식이다.

 




9. 엉덩이


  • 인간의 관절 중에서 가장 자유롭게 회전할 수 있는 관절이 어깨라면, 엉덩이 관절 또한 그에 못지 않게 자유로운 회전 특성을 가진다. 하지만 리깅의 난이도는 어깨에 비해서 상대적으로 낮은 편인데, 어깨는 견갑골이나 쇄골 등에 의해서 좀 더 다양한 상황이 만들어지기 때문에 엉덩이 비해 난이도가 높다.

  • 엉덩이 중간 본 만들기

    Orienttion Constraint 방식의 엉덩이 본

  • Point03의 역할이 가장 중요한데, Pelvis의 자식으로 링크되어 있고, 축 정렬은 왼쪽 허벅지와 축을 맞춰야 한다. 업노드가 아닌 그냥 축정렬.. 헷갈리지 않기.

  • 그리고 엉덩이 보정 본인 Bone05Point03 과 바이패드 트위스트 본과 Orientation으로 연결해 준다.

    Point03을 사용한 이유는 펠비가 허벅지와 축이 너무 다르기 때문에 Orinetatin 타깃으로 삼기에 적절하지 않다. 축이 정렬되지 않은 두 오브젝트는 금방 플립 현상이 생기게 된다.

  • 바이패드 트위스트본을 사용한 이유는 그냥 허벅지 오브젝트를 타깃으로 사용하게 되면 트위스트 상황에서 엉덩이가 너무 많이 비틀어져 엉덩이 중간 으로서의 역할을 하기 힘들어 진다. 

 

 

 

10. 대흉근/광배근


  • 대흉근은 아래 그림으로 빨간색으로 표시된 부분이다.

  • 2번 위치에 대한 접근이 가장 중요하다.

     

     

  • 만약에 2번없이 1번과 3번만으로 제어를 한다면 팔을 뒤로했을경우 몸을 파고드는 문제가 발생하며, 그 외에도 많은 제약사항이 따른다.

  • 2번 위치를 제어하기 위해서 LookAt방식을 적절히 사용하면 문제 해결이 용이해 진다.

  • 제작 방식 총 가이드

 

(1) 먼저 가슴의 위치를 잡아 줄 두 포인트를 만든다. 여기서는 서클로 만들었다. 중간에 있는 빨간색 본은 대충 위치를 잡아 주기 위한 보조 본이며

나중에 삭제 된다.

 

(2) 대흉근의 크기를 알려 줄 간단한 서클 제작 ? 여기서는 서클을 사용했지만 실제 모델링의 가슴크기에 맞게 셋팅하면 된다.


(3) 가상 대흉근 서클의 중심에 있게 될 Point01과 대흉근의 크기에 맞게 회전하게 될 Point02를 만든다. Point02Point01의 자식으로서 대흉근 크기에 맞게 회전되도록 한다.


(4) Point01은 가슴과 팔의 중간쯤을 항상 바라보도록 해 주기 위해 LookAT을 활용하여 서클0102를 바라보도록 셋팅한다.


(5) 이제 Bone을 만들기에 앞서 중간본들이 너무 과하게 움직이지 않도록 중간에서 잡아줄 헬퍼가 하나더 필요하기 때문에 적절한 위치에 Point03을 하나 만들어 준다. 왜 만드는지 이유가 궁금하다면 말로 설명 듣기보다 직접 따라하기 원한다. 그러면 Point03이 꼭 필요하다는 것을 알게 된다.


(6) 이제 가슴 쪽을 바라보게 될 두 개의 본을 만들어 준다.

Bone01 Bone02의 셋팅은 아래를 참고하자.

   

(7) 다음은 팔쪽을 바라보게 따라다니게 될 Bone03Bone04를 만들어 주면 끝난다.

  • Bone04의 포지션 컨스트레인트 셋팅은 bone02와 동일하며 LookAt만 팔쪽 서클을 바라보록 변경해주고, 그에 따라 Bone03역시 PositionConstraint를 팔쪽 서클써 따라다니도록 셋팅해 주면 모든 과정이 끝난다.