애니메이팅38

애니메이팅 12가지 원칙 11 | 12 [Solid drawing || Apeal] 애니메이팅 원칙에서 'solid drawing'이란 입체감이 느껴지는 동작을 의미한다. '종이'와 '쇠'로 만든 로봇의 움직임을 생각해보자. 우리는 직접 만져보지 않고서도 특정 오브젝트의 동작만으로 대충 '종이'와 '쇠'를 예측할 수 있다. 너무나 당연한 말이지만, 종이로 만든 로봇은 외부환경에 따라 '쇠 로봇'보다 움직임이 크다. 다시말해 어떤 물체건 동작이 발생하게 되면, 우리 몸은 본능적으로 다음 3가지를 인식하기 시작한다. 1 Volume(부피) 2 Weight(무게) 3 Balance(균형) 오브젝트는 부피에 따라 공간이 변하고, 무게에 따라 타이밍(시간)이 바뀌고, 균형에 따라 벡터(방향)가 변한다. 그리고 정지된 상태에서는 무게(타이밍)와 균형(방향)을 예측하기 어렵다. 웹툰(2D)와 3D ..
애니메이팅 12가지 원칙 9, 10[Timing || Exaggeration] Timing[타이밍] 영상 편집과 CG애니메이팅의 가장 큰 차이점은 타이밍에 있다. A에서 B지점까지 이동하는 자전거를 생각해보자. 만일 자전거의 브레이크가 고장나서 단 한번만 사용해야 한다면 급브레이크를 잡을 수밖에 없다. 그리고 급브레이크를 사용할 때는 빠르지 않은 속도임에도 굉장히 빨리 움직이는 것처럼 보인다. 반면, 브레이크를 24번 사용해서 멈춘다면, 빠른 속도에서도 자전거는 부드럽게 멈춘다. 브레이크를 한번 잡는 상황을 동영상으로 생각해보자. 영화는 24프레임이므로 초당 24번 브레이크를 사용한다. 만일 영화를 재생하는 동영상 플레이어 속도를 2배속으로 올리면, 초당 12프레임으로 작동하고 화면전환 속도는 2배 빨라진다. CG애니메이팅도 원리는 비슷하다. 초당 24프레임으로 설정한 타임라인에서..
애니메이팅 12가지 원칙 7, 8[Arcs || Secondary Action] 7 Arcs(호) 'Arcs'는 로봇과 유기체의 차이를 드러내는 6원칙(EaseIn & Out)과 쌍으로 기억해야 할 원칙이다. 캐릭터 애니메이팅에서 '감속 & 가속', '아크' 이 두가지만 조절하더라도 캐릭터의 상태가 꽤 좋아진다. 살아있는 모든 것은 움직임에 곡선이 섞여 있다. 메카닉(기계)과 캐릭터의 가장 큰 차이점은 '곡선'에 있다. 사람이 만들어낸 기계는 직선운동을 하지만 자연은 본래 곡선으로 움직인다. 애니메이팅 작업이 끝났는데 뭔가 어색하다고 느낀다면, 캐릭터에 미세한 곡선을 넣어보자. (산업용 애니메이션은 예외) 캐릭터 움직임에 곡선을 심하게 넣을수록 웬지 디즈니 캐릭터(아동용 애니)같은 분위기가 나타나기 시작할 것이다. 8 Secondary Action 2차 동작은 시나리오를 빛나게 해준..
애니메이팅 12가지 원칙 5,6 [Drag&Overapping||EaseIn&Out] 애니메이팅 12가지 원칙의 5번째는 '관성의 법칙'이다. 뉴턴의 운동 제 1법칙에 의하면 외부에서 힘이 가해지지 않는 한 모든 물체는 현 상태를 그대로 유지하려고 한다. 그래서 버스가 출발하면 손잡이는 정지상태를 유지한 뒤 움직이며, 버스가 갑작스레 정차하면 손잡이가 앞으로 움직인다. 5 Drag(Follow Through) & Overapping CG에서는 드래그와 오버래핑 기법으로 분위기와 상태를 표현한다. 가령, 눈을 감고 머리를 뒤로 젖히는 장면을 생각해보자. 만일 머리와 목이 동시에 뒤로 움직이며 의자에 기댄다면, 강압적이면서 빠른 결단을 내려야하는 분위기가 된다. 반면, 머리가 먼저 뒤로 움직인 뒤 상체가 천천히 따라간다면, 한숨을 쉬는 듯한(자신감 없음) 분위기를 연출할 수 있다. Drag&..
애니메이팅 12가지 원칙3,4 [Staging || Straight Ahead & Pose To Pose ] 3 Staging 스테이징은 비단 애니메이션 작업 뿐만 아니라 영화나 광고 tv드라마에서도 중요한 방송제작 원칙이다. 스테이징은 '초점맞추기'다. 가령, 사진이라면 작가가 자신의 의도를 전달하기 위해서 특정 피사체에 초점을 맞춰야한다. 만일 초점이 흩어져 있다면 관객은 작품의 메시지를 이해할 수 없고, 작가의 의도는 왜곡될 수 있다. 4 Straight Ahead & Pose to Pose 공무원과 예술가의 가장 큰 차이점은 '예측성'에 있다. 어느 30대 공무원의 10년 후 미래는 급수와 호봉이 늘어난 상태와 동시에 정시 출퇴근과 여가생활를 반복하는 패턴일 것이다. 반면, 30대 예술가의 10년 후 미래는 쉽게 예측하기 어렵다. Pose to Pose와 Straight Ahead를 직업에 비유하자면 공..
애니메이팅 12가지 원칙[1 Squash&Stretch || 2 Anticipation] 애니메이션의 12가지 원칙은 디즈니 애니메이터 'Frank Thomas'와 'Ollie Johnston'이 만든 지침으로 어느순간부터 CG애니메팅의 정석이 되었다. 1 Squash & Stretch [짓누르기 및 늘이기] 스쿼시&스트래치는 물체가 외부의 힘에 의해 변형되는 상황을 과장해서 표현하는 방법이다. 스쿼시&스트래치의 가장 큰 장점은 어떤 씬(오브젝트)도 지루하지 않게 만든다는 점이다. 힘과 힘이 마주치는 상황에서 특정 물체의 비율을 조절하면서 형태를 변경하는 것만으로도 시선을 사로잡을 수 있기 때문이다. 2 Anticipation[예상] Anticipation(예상)은 소설의 '복선'과 같다. 제자리에서 멀리뛰기를 생각해보자. 최대한 멀리 뛰려면 어떤 동작을 취해야할까? 아마도 아래와 같이 앞뒤..
[Maya] 페이스 리깅(12) 리깅 마무리 페이스 리깅(12) 리깅 마무리 리깅은 시작할 때보다 마무리가 훨씬 중요하다. 리깅 제작자는 작업 전반을 통틀어 항상 애니메이터를 염두에 둬야 한다. 리깅 파일을 받는 애니메이터의 입장에서, 이해할 수 없는 채널이름은 변경해야 하고 불필요한 방향과 회전은 잠금을 설정하는 식의 꼼꼼함이 필요하다. 1 『아웃라이너 정리』 리깅 제작자가 없는 회사의 특징은 '재활용 시스템 부재'에 있다. 리깅을 꼼꼼하게 처리하지 못한 파일들을 열어보면, 대충 fk방식으로 깔끔하지 못하고 지저분하다. 재사용하기 싫은 캐릭터들이 덕지덕지 붙어 있다. 아웃라이너의 왼쪽, 오른쪽 컨트롤러의 이름이 다르고, 심지어 어떤 컨트롤러의 이름은 curve126이라고 돼 있는 경우도 있다. 애니메이팅은 최종 랜더링과 직결되는 작업이다. 애니메..
[Maya] 페이스 리깅(10) wrinkle맵 설정하기 페이스 리깅(10) wrinkle맵 설정하기 wrinkle맵은, 컨트롤러 값에 따라서 주름이 나타나는 맵이다. 전문 프로덕션에서는, 2004년부터 normal맵으로 multiple normal map을 구사해왔다. 이보다 좀더 진보된 방식은 페이스에 조인트를 넣고 다시 wrinkle맵을 컨트롤러와 결합시킨 방법이다. direct 11 방식 + shaderfx 쉐이더를 사용한다면, 실시간으로 wrinkle맵 움직임을 볼 수 있지만, 해당 포스팅에서는 arnold 랜더링에 적합한 노드구조를 사용했다. (유투브에 많음) 1 『주름맵 생성』 눈을 크게 떳을 때, 특정부위의 피부가 밀려나면서 주름이 발생한다. 주름이 잡히는 정도를 실험하는 목적이기 때문에 큰 선들을 만든다. z브러시에서 디스맵을 추출할 때는 ap..
[Maya] 페이스 리깅(9) 코 & 눈 리깅 페이스 리깅(9) 코 & 눈 리깅 눈썹에서 중요한 부분 컨트롤러만 남기고, 나머지는 제거한다. 아래 사진처럼, 미간을 컨트롤할 수 있도록 blend shape과 컨트롤러를 설정한다. 코 컨트롤러는 간단하다. - 생성한 커브를 복사해서 blend shape을 넣어준다. 아래턱 부분은 jaw 조인트(main)에 scale, parent constrain으로 연결한다. (아래사진 참고) 1 『눈알 축 설정』 - 눈알을 돌렸을때 튀어나오지 않도록 축을 설정한다. 제자리에서 회전했을때 그대로 움직이도록 축을 맞춰준다. 조인트를 생성한 후에 아래처럼 main offset을 체크해제한 상태에서 조인트를 parent하면, 눈알 모델링의 축에 조인트가 붙는다. 이후 parent constrain은 삭제한다. 2 『조인트..
[Maya] 페이스 리깅(8) 입 리깅 페이스 리깅(8) 입 리깅 눈 부위의 리깅을 마쳤다면, 입 부분의 리깅을 시작해보자. 1 『입 컨트롤러 생성』 - 입 모양으로 컨트롤러를 생성한다. - 컨트롤러 아래에 8개의 둥근 컨트롤러를 따로 넣는다. (parent구조로 상위 입 모양 구조에 붙인다) - 아래 사진처럼 상위 컨트롤러에 parent를 하자. (no Shape parent구조) 2 『입 Expression 생성』 - 아래 코드에서 mouth_lower_L(R)은 입 하단 컨트롤러 하위에 위치한 왼쪽,오른쪽 컨트롤러이다. M을 붙여서 미들도 만들어준다. 해당 컨트롤러를 움직이면, 매칭하는 조인트가 움직이는데 영향값을 * 0.64정도로 조절해줘서 자연스럽게 움직이도록 설정한다. - 아래처럼 입을 벌리고 나서, 각각 입술의 위치에 해당하는 컨..
[Maya] 페이스 리깅(7) 얼굴 스키닝 blend shape (2) 눈~입까지 설정 얼굴 스키닝 blend shape (2) 눈~입까지 설정 캐릭터의 오른쪽에 눈 움직임과 관련된 눈 컨트롤러를 만든다. 1 『눈 컨트롤러 생성』 - 아래 위의 눈 컨트롤러를 생성하는데, 한쪽은 group하고 behavior구조를 만든다. (상위 그룹은 z축 회전값을 -180도로 정한다.) - 컨트롤러의 방향을 object로 설정한다. 2 『눈 커브 복사하기』 - 오른쪽 눈 커브를 아래위로 복사하고, blendshape을 정할때 혼동하지 않을 적절한 이름을 지정한다. (눈을 감는 blendshape 커브라면, 이름을 eyeClose로 지정한다) 3 『blendShape 추가하기』 - Add blend shape을 선택해서, 미리 생성해 둔 blendshape 노드에 연결한다. (초반 blend shape노드..
[Maya] 페이스 리깅(6) 얼굴 스키닝 blend shape(1) 페이스 리깅(6) 얼굴 스키닝 blend shape(1) 얼굴 커브선을 복사하고, 이를 blendshape으로 움직여서 얼굴표정을 만들어주는 과정을 시작해보자. 1 『놀란표정 만들기』 - 양쪽 눈썹 커브를 복사한다. - 복사한 커브의 이름이 곧 blend shape의 이름이 되므로 커브의 이름을 정확하게 설정해야 한다. - 커브의 이름을 L(R)_eyebrowUp으로 커브 이름을 정한다. - 생성한 커브를 먼저 선택하고, 해당되는 원본 커브를 선택한 후에 blend shape을 실행한다. (초기 blend shape 이름은 전체를 아울러야 하므로 각각 L_eyebrow_blendshape 식으로 이름을 지정한다.) - blend shape을 실행한 후에는 envelope값을 바로 1로 설정한다. - 오른..
[Maya] 페이스 리깅(5) 스키닝 페이스 리깅(5) 스키닝 1 『neck_fk_BSkin_head 스키닝』 - head_fk_BSkin 조인트에 100% 스키닝 값을 걸어준다. - 여기서 중요한 부분은 스키닝 옵션을 반드시 'post'로 설정해줘야 한다는 점이다. - 나머지 얼굴 조인트 값은 모두 0%로 한다. - jaw_BSkin_jnt1 조인트를 선택하고, influnce를 아래 사진처럼 스키닝을 설정한다. (jaw조인트를 움직이면서 턱 스키닝을 체크한다) 2 『입술 각 조인트 설정』 - 입술에 박혀 있는 각각의 조인트 영향값을 처음에는 딱딱하게 1로 설정하고, 그 다음은 smooth를 2~3회 정도 설정한다. - smooth 영향값을 넣어준다. - 아래턱에 해당하는 조인트들은 모두 스키닝값을 post방식으로 영향값을 설정한다. 3 ..
[Maya] 페이스 리깅(4) 페이스 스키닝 준비하기 페이스 리깅(4) 페이스 스키닝 1 『페이스 조인트 & 컨트롤러 이름 지정하기』 - parent -r -s 명령어로 shape에 parent를 설정한 넙스 스피어의 이름을 모두 근육에 맞게끔 지정한다. 2 『스키닝』 - 상단 우측에 보면, 이름으로 DG들을 선택하는 기능이 있다. 이를 활용하여 ' *_BSkin_* '으로 검색해서 모두 선택한다. 이후 캐릭터 전체를 선택하고, skin -bind skin한다. - bind skin 설정은 아래와 같다. 아래와 같은 설정을 한다면, 손가락부터 가장 완벽하게 스키닝이 된다. - 얼굴의 각 조인트 위치가 폴리곤mesh와 격차가 크다면, binding에서 조인트가 포함되지 않는다. 따라서 여기까지 프로젝트를 저장해놓고, 얼굴 조인트를 모두 이동시키면서 bind를..
[Maya] 페이스 리깅(3) Jaw 조인트 설정하기 [Maya] 페이스 리깅(3) Jaw 조인트 설정하기 얼굴 근육라인을 따라 조인트를 모두 설정했다면, 본격적으로 목과 연결된 턱뼈를 생성해야한다. 지난 포스팅에 이어 Jaw조인트부터 진행해보자. 1 『턱 조인트 생성하기』 - jaw_BSkin_jnt01 이름으로 턱 조인트를 생성한다. 2 『조인트 연결하기』 - jaw_BSkin_jnt01 조인트를 neck_fk_BSkin_head에 parent한다. 목에서 유일하게 headTip과 연결되는 fk_head조인트는 스키닝할 때 사용된다. 3 『커브, loc그룹 정리』 - 그룹설정한 페이스 커브를 Main_Ctrl밖으로 꺼낸다. - 얼굴 로케이터들은 그룹해서, face_loc_grp로 이름을 정한다. - Jaw조인트가 컨트롤해야 하는 로케이터들을 그룹한다. ..