2012년 7월 26일 목요일

Tricks to Animating Characters with a Computer - John Lasseter / Pixar #.1

컴퓨터를 이용한 캐릭터 애니메이션의 트릭들 - John Lasseter / Pixar

Tricks to Animating Characters with a Computer - John Lasseter / Pixar

참조 : 이 원고들은 94년 SIGGRAPH 때의 "Animation Tricks"에관한 세미나의 <코스1>에서 발췌 했습니다.


머릿말

내가 컴퓨터를 가지고 제작한 첫번째 애니매이션을 선보였을 때, 많은 사람들은 "어떤종류의 Cool한 새소프트웨어를 사용했길래 그런 믿기어려울정도로 훌륭한 캐릭터애니메이션 - ("The Aventures of Andre and Wally B" - Siggraph'84) - 들을 제작했느냐"고 물었다.

나는 그들에게 소프트웨어는 요즘 주변에서 사용하는것과 많이 다르지 않은 일반적인 keyframe 애니매이션 시스템이고, 단지 내가 수작업 에니메이터일때 배운 에니메이션의 기초적인 원칙들을 사용한것 뿐이었다"고 설명했다. 사실 캐릭터에게 생명력을 불어넣은것은 소프트웨어가 아니고 이미 50년전의 애니메이터들이 개발한 "애니메이션의 기본적인 원칙들" 이었다. 나는 컴퓨터 애니메이션을 하는 사람들 중에 이 원칙들을 알고 있는사람이 극소수라는 것에대해 매우 놀랐다.

전통적인 애니메이션의 원칙들은, 어떤것이든간에, 스크린을 통해 옳은것이라고 정당성을 평가받은 대표적인 원칙들이다. 그 기법들은 컴퓨터 애니매이션에서도 마찬가지 일 것이다. Pixar에서 우리들은, 스크린상에 필요한것들을 얻기위해, 옛날방식이든 새로운방식이든 끊임없이 그러한기법들을 사용한다. 이글에서 나는, 컴퓨터상에서 캐릭터애니메이션을 시도하는 모든이들이 소프트웨어와 상관없이 유용하게 쓸수있는 Pixar의 기업비밀들을 공개할 것이다.

KEYFRAMES

상용으로 사용할 수 있는 대부분의 컴퓨터 애니매이션 시스템들은 [keyframe]시스템들을 기반으로 애니메이션을 제작한다. 내가 처음 컴퓨터에니메이션을 접했을때, 그 [keyframe]시스템들은 전통적인 수작업방식 애니메이션에 있어서의 keyframes과 흡사하게 보였다.
그러나 엄밀히말해서 그둘은 약간의 차이가 있다. 그래서 컴퓨터상에서는 약간 다른방식으로 애니메이션에 접근해야 한다. 수작업 애니메이션에서는 씬의 기초적인(러프)포즈를 먼저 그리고 그위에 캐릭터의 전체적인 포즈를 마무리(클린업) 한다. 그래야만 타이밍과 움직임을 최소한의 그림들을 가지고 해결할 수 있다. 하나의 포즈가 완성되면, 중간동작의 그림들이 사이사이의 움직임을 완성하기위해 그려진다. 컴퓨터 애니매이션에서, keyframes은 모델의 명확한 콘트롤을 위한 특정한 프레임을 말하며. 일반적으로 계층구조별로 셋업되어있다. 컴퓨터는 키프레임 값들을 연결하는 스프라인커브를 기반으로 중간프레임들을 계산한다.

내가 처음으로 컴퓨터애니메이션을 시작했을 무렵, 나는 수작업 애니매이션에 익숙해 있던 상태였고, 수작업이나 컴퓨터나 keyframe은 마찬가지의 작업일것이라고 생각했다. 그래서 옛날에 하던 방식대로 하나의 완벽한포즈를 잡은후 몇프레임 뒤에 다음의 포즈를 완벽하게 잡곤했다. 그러다보니 컴퓨터가 만들어주는 중간동작은 전혀 쓸모가 없었다. 나는 내가원하는 결과를 얻기위해서 임의로 모든 프레임들에 키프레임들을 줘가며 작업을 하곤 했다.

컴퓨터 애니매이션을 해나가면서, 나는 모델의 계층구조(hierarchy)시스템 하에서 작업하는 법을 배웠고, 시간이 흐름에 따라, 계층구조상의 레벨별로 각기 다른 조절들을하기위해 각각의 키프레임을 생산해내게 되었다. 어떤 부분들은 몇 개의 키프레임만 있어도되며,또 어떤부분은 매프레임마다 키가 있어야한다는 사실도 알게되었다. 또한 내가 전반적으로 대단히 적은수의 키프레임을 사용하고 있다는 사실을 알았고 컴퓨터가 자동생성해주는 키프레임들이 매우 유용하다는 사실도 알게되었다.

이 접근법에서 중요한것은 작업을 시작하기전에 하고자 하는 액션에 대한 계획들을 깨끗이 정리해둘 필요가 있다는 것이다. 조그맣게 스케치를 해가며 동작을 계획하라. 그리고 익스포저시트를 이용하여 시간계획을 세우라.다음에 작업계획을 세울때를 대비하여 이것들을 가지고 있으라. 항상 이것들을 참조하게 될 것이다.

2D 대 3D

전통적인 수작업 애니메이션과 컴퓨터애니메이션의 가장큰 차이는 컴퓨터 애니메이션은 진짜 3D라는 것이다. 내가 처음 컴퓨터로 했던 뛰는 사이클의 애니메이션은 sideview에서 봤을 때 아주 좋아 보였다. 그러나 앞에서 보았을 때 팔은 몸통을 뚫고나가고 무릅은 이상한 방향으로 구부러져 있었다. 그때부터 나는 항상 두방향에서 보아가면서 애니메이션을 했다 그래야 어떤부분이 잘못되어있는지 항상 확인할 수 있기 때문이다.

컴퓨터 애니메이션은 실제적으로 3D이기 때문에 씬상의 전체 혹은 부분적으로 에니메이션을 재사용 할 수도 있으며 사람들은 그것을 눈치채지 못한다.많은 경우에, 같은 애니메이션 씬을 다른 카메라 앵글에서 볼때 그것이 완전히 다른것처럼 보인다.가끔은 아주 비슷할 수도 있다. 그럴때는 움직임의 타이밍을 약간 조절한다거나 팔이나 머리의 움직임을 좀 바꾸면 오리지널과 달라보일 것이다. 이는 재활용 애니메이션으로 군중에게 생명을 불어넣음으로써 군중 애니메이션에 아주 유용하다.

WEIGHT & SIZE

컴퓨터 그래픽은 거의 실제와 흡사한 이미지를 만들어 낼 수 있다. 특히나 최근의 렌더링, 텍스쳐 매핑, 레이트레이싱, 래디오시티등등의최신 기술로 오브젝트를 대리석이든 고무이든 원하는 대로 보이게 할수 있다. 그러나 대리석이든 고무이든 움직임속에서 사실적으로 보이게 하는 것은 오브젝트가 어떻게 렌더되어 있는것과는 별 상관이 없다.어떻게 애니메이트되었느냐가 관건인 것이다. 애니메이션이야말로오브젝트에 물리적인 특성을 부여하는 것이다. 무엇보다도, 오브젝트의 동작에 대한 타이밍이 바로 그 오브젝트의 무게를 결정하는 것이다.

크기와 모양이 똑같은 두개의 오브젝트들을 타이밍을 달리함으로써무게차이가 많이 나는 다른 물체로 보이게 할 수 있다. 더 무겁고,부피가 큰 오브젝트일수록, 그것의 동작에 변화를 주기위해서는 더강한 힘을 필요로 한다. 무거운 것은 가벼운 것보다 천천히 가속한다.볼링공을 움직이기 위해서는 매우 큰 힘을 필요로 한다; 그러나 한번움직이기 시작하면 좀처럼 멈추지 않고 일정한 속도로 움직이게 된다.이를 멈추려면 역시 큰 힘을 필요로 한다.

무거운 오브젝트를 애니메이트할때, 충분한 시간과 힘을 사용해서움직임을 시작하고, 멈추고 변화를 주어야 해야 그 움직임이 보다설득력있어진다. 가벼운 오브젝트는 훨씬 적은 저항에 의해 움직임이변화되고 훨씬 적은 힘에 의해서 움직여질 수 있다. 단지 손가락튕김 하나로 풍선을 움직이게 할 수 있다. 그러나 풍선이 움직일때는,잠깐 움직이다 말 뿐이고 공기의 마찰까지도 풍선을 금방 느려지게하고멈춘다.

스크린에서 오브젝트가 어떻게 행동하고, 얼마나의 무게감을 나타내느냐하는 것은 포즈 자체보다는 포즈사이의 타이밍에 의존한다. 다시한번말하지만, 얼마나 볼링공처럼 잘 렌더링되었느냐가 아니다! 볼링공과똑같이 렌더링되어 있더라도 애니메이션이 그렇지 않으면 그것은 볼링공이 아니다.

적절한 타이밍의 움직임은 오브젝트나 캐릭터의 사이즈나 스케일감을표현하는데 크게 도움을 줄 수 있다. 거인은 훨씬 무겁고, 크고, 더 둔하기 때문에 보통 사람보다 더 느리게 움직일 것이다. 볼링공과 같이그 거인은 움직이기 시작할때 더 시간이 걸리며, 한번 움직이기 시작하면 멈추는 때도 시간을 더 지체한다. 어떠한 동작의 변화들이라도아주 느리게 나타나게 마련이다. 반대로, 아주 작은 캐릭터는 그의동작도 일반크기의 캐릭터보다 더 빠르다.

댓글 없음:

댓글 쓰기