김웅순
◇81년 고려대 전자공학과 졸업
◇91∼93년 일본 스쿠바대학 전자공학 연구과정
◇99년 고려대학교 전자공학 석사(컴퓨터그래픽스 전공), 멀티미디어 기술사
◇현재 한국전자통신연구원 컴퓨터·소프트웨어기술연구소 컴퓨터그래픽스연구팀장, 한국컴퓨터그래픽스학회 총무이사
3차원 캐릭터 애니메이션 기술은 일반적인 3차원 컴퓨터 그래픽 애니메이션 기술과 그 맥을 같이 한다. 하지만 생명체를 표현하기 위한 수단이라는 점에서 일반 물체의 애니메이션과는 다른 독특한 지식 및 기술이 추가적으로 필요하다. 캐릭터 애니메이션 기술을 크게 분류하면 전통적인 셀 애니메이션 기법과 같이 움직임의 중요 장면들을 수작업에 의해 생성하고 이들 사이에 중간 장면들을 채우는 방식으로 제작되는 「키프레임(Key Frame) 애니메이션」, 일련의 규칙에 의해 대상체의 움직임을 자동적 또는 반자동적으로 생성하는 「동작제어(Motion Control) 기술」에 의한 애니메이션 그리고 3차원 공간상에서 실제 배우의 움직임을 직접 기록할 수 있는 장비로 캐릭터의 움직임을 생성하는 「모션 캡처(Motion Capture) 애니메이션」으로 나눌 수 있다. 이밖에도 인간의 감정 차이를 잘 나타낼 수 있도록 표정 및 입술 움직임 등을 미세하게 표현하는 「얼굴 애니메이션 기술」과 팔·다리 등 관절 부위로 이루어진 전신의 자세를 제어해 동작을 표현하는 「다관절체 애니메이션 기술」 등도 있다.
키프레임 애니메이션은 전통적인 셀 애니메이션 기법과 유사한 방법이다. 먼저 대상체의 움직임 중 각 관절의 굴절 각도와 캐릭터 자체의 공간적 위치 등 중요 장면을 키프레임으로 설정한 뒤 이 사이를 인비트윈(InBetween)이라 불리는 과정으로 부드럽게 채워준다. 셀 애니메이션에서는 이 단계가 수작업에 의해 처리됐으나 3차원 캐릭터 애니메이션에서는 이를 컴퓨터 프로그램으로 처리하는 게 큰 차이점이다. 키프레임 사이의 중간 단계를 계산하기 위해 쓰이는 가장 간단한 방법은 선형 보간법(Linear Interpolation)으로 전후 키프레임에서 캐릭터의 자세를 일정한 비율로 변화시켜 장면을 연결하는 것이다. 또 캐릭터의 움직임 속도가 일정치 않을 경우에는 스플라인 보간법(Spline Interpolation)과 같은 좀더 복잡한 보간법을 사용하기도 한다. 그러나 키프레임 애니메이션 기법은 수작업에 의존하는 부분이 많아 제작시간이 길고 애니메이터가 인간이나 생물체의 움직임을 잘 이해하고 있어야 한다는 제약을 가지고 있는 단점이 있다. 반면 애니메이션 제작시스템의 개발이 상대적으로 쉽고 제작자가 애니메이션의 미세한 부분까지 직접 제어할 수 있다는 장점이 있어 현재 많이 사용되고 있다.
컴퓨터 그래픽 애니메이션에서 동작제어 기술은 자연과학이나 공학 분야에서 널리 이용되던 수치해석에 의한 시뮬레이션 기법을 응용한 것으로 다양한 대상체들의 움직임을 좀더 쉽고 자연스럽게 표현하기 위한 것이다. 이 방법은 대상체의 형상이나 움직임을 몇가지 규칙에 의해 미리 정의한 후 사용자가 입력하는 초기값 또는 경계값 등의 인수로부터 규칙을 만족하는 수치의 답을 소프트웨어가 계산해 내는 방식으로 구현된다.
물리기반 모델링 및 시뮬레이션(Physicallybased Modeling & Simulation)은 주로 자연과학 및 공학 분야의 수치해석 시뮬레이션의 방법론에서 출발한 것이다. 이 기법은 자연현상을 지배하는 일련의 물리법칙과 경험적인 법칙들을 컴퓨터 프로그램화하고 주어진 초기 및 경계조건에 대해 그 법칙을 만족하는 해를 구해 가시화하는 방법이다. 이 방법의 장점은 그 결과가 매우 사실적이며 자연스럽다는 데 있다. 하지만 이를 위해서는 물리법칙에 대한 깊은 이해가 필수적이며 실제보다 과장된 움직임을 만들고자 하는 경우에는 대응이 어려운 단점이 있다. 적용 대상은 크게 수동적 시스템(Passtive System)과 능동적 시스템(Active System)으로 나눌 수 있다.
수동적 시스템은 대상체가 내부에 에너지원을 가지고 있지 않은 것으로 외부에서 가해지는 힘에 의해 변형 및 이동되는 경우를 말한다. 물이나 연기 등을 포함하는 각종 유체, 의복이나 머리카락, 나뭇잎의 움직임 등을 표현하고자 하는 경우가 여기에 해당된다. 능동적 시스템은 대상체가 내부의 에너지원을 가지고 있어 자신의 의지로 움직일 수 있는 경우로 대상체를 움직이게 하는 근원, 즉 인간의 경우 각 관절을 잇는 근육 등과 같은 부분에 대한 행동 특성을 기술해야 하므로 구현이 매우 어렵다. 특히 캐릭터 애니메이션의 경우 특정 동작에 대한 각 관절 부위의 제어방법을 적절히 계산해주는 제어 시스템이 추가돼야만 제대로 된 동작을 표현할 수 있다. 이 때문에 자신의 의지를 가지고 사용자의 지시에 대응하거나 스스로 주변 환경에 맞추어 지시받은 동작을 수행하는 일종의 가상인간(Virtual Human)의 구현이 이 시스템의 핵심적인 요소가 된다.
현재 기술로는 임의 객체들의 움직임을 완전히 자동적으로 생성하거나 제어할 수없지만 일정한 규칙하에서 어느 정도 변화폭을 가지는 특정한 유형의 움직임은 알고리듬화할 수는 있다. 이같이 컴퓨터가 움직임을 생성하기 위해서 절차적으로 알고리듬 단계를 수행하는 것을 절차적 기법(Procedural Method)이라고 한다. 이러한 기술이 현재 가장 많이 활용되고 있는 분야는 「행동양식 모델링(Behavioral Modeling)」이다. 이는 유사한 행동 특성을 가지고 있는 수많은 개체가 모여 함께 행동하는 경우를 구현하기 위한 것이다. 이 기술은 주로 벌떼나 새떼가 무리를 이루어 날아다니거나 군중이 많이 몰려 있는 장면에 주로 사용된다. 이 경우 각각의 캐릭터들을 별도의 제어방법에 의해 움직이게 하는 것보다 무리 전체의 이동방향 등을 설정한 후 각 캐릭터를 전체적인 방향에서 약간씩의 변화를 주는 방식으로 제어할 수 있다.
최근 3차원 캐릭터 애니메이션 제작시 거의 필수 요소로 등장하는 모션캡처 기술인 트래커(Tracker)는 위치 및 자세 센서를 인간의 몸에 부착한 후 공간상에서의 이동이나 자세 변화에 대한 정보를 직접 기록하는 기술이다. 이때 센서별로 매 순간 공간상 위치(x, y, z) 및 각도로 표현되는 자세(Roll, Pitch, Yaw) 등 6개씩의 데이터가 얻어지게 돼 이를 각 관절 부위의 제어에 직접 사용하게 된다. 모션캡처 기술은 캐릭터의 각 관절부를 움직이는 데 필요한 정보들이 동시에 수집되며 실시간 제어가 가능하므로 매우 복잡하거나 빠른 움직임도 자연스럽게 표현할 수 있다. 특히 방송 등에서 실시간 캐릭터 애니메이션을 이용하고자 할 때 거의 필수적으로 사용되는 기술이며 최근에는 게임제작에서도 많이 활용되고 있다. 하지만 모션캡처 기술은 움직이는 사람의 몸에 부착된 트래커가 다소 흔들릴 수 있기 때문에 아주 정밀한 움직임을 측정하기가 어렵고 한번에 매끄러운 움직임을 얻기가 어려운 단점이 있다. 또 캐릭터의 신체 부위 크기가 다를 경우 얻어진 동작 데이터를 일괄적으로 적용할 수 없는 경우도 발생한다.
3차원 캐릭터 애니메이션에서 가장 중요한 것이 바로 얼굴 표정의 표현이라해도 과언이 아니다. 얼굴 애니메이션을 구현하기 위한 방법들은 실제로 얼굴 모습을 표현하는 피부 모델을 어떤 방법으로 만들었는가에 따라 좌우된다. 3차원 피부 모델 생성에 가장 흔하게 이용되는 것이 폴리곤 메시 방법이다. 이 기술은 사실적인 표현을 위해 피부를 표현하는 다각형의 개수를 늘리지만 그에 비례해 조작이 복잡해지므로 물리적 성질에 기반해 적은 수의 파라미터만으로 자연스러운 조작이 가능한 제어 프로그램의 추가 개발이 필수적이다.
또 한가지 얼굴 모델링 방법으로는 직교 사진(Orthogonal Photographic Image)에 의한 모델링 방법이 있다. 이는 측정될 점들의 위치를 표시한 얼굴의 정면 및 측면 사진을 촬영하고 이 사진들로부터 각 점들의 3차원 좌표를 계산해 내는 방식이다. 그러나 직교 사진에 의한 모델링 방법의 가장 큰 문제점은 사진 촬영시에 생기는 투시적 원근 효과에 의한 영상의 왜곡이다. 이것은 촬영을 가급적 초점거리가 먼 렌즈를 사용하여 왜곡을 최소화하는 것 외에 별다른 해결 방법이 없다.
얼굴 모델의 애니메이션 작업은 크게 나눠 감정 표현, 즉 표정의 애니메이션과 대화시 입술 모양의 변화(Lip Synchronization)를 중심으로 하는 대화 애니메이션 부문으로 구분할 수 있다. 표정 애니메이션의 경우 약간의 문화적 차이를 제외한다면 거의 세계 공통의 보편적인 요소들로 이루어지는 반면 대화 애니메이션의 경우는 언어에 따른 차이를 고려해야 한다. 얼굴 애니메이션의 생성을 위해 사용되는 기법 역시 키프레임 애니메이션과 동작제어 기술 그리고 모션캡처 기법 등으로 구분할 수 있는데 현재 상업용의 캐릭터 애니메이션 제작시 가장 많이 쓰이는 방법은 키프레임 애니메이션 기법이다.
키프레임 애니메이션 기법을 사용하는 경우에 있어 얼굴 애니메이션은 다른 부위의 애니메이션 제작과정과 기본적으로 동일하다. 그러나 이 방법을 사용할 때에는 표정이나 대화 등 얼굴 표면의 변화가 짧은 시간에 불연속적으로 이루어지기 때문에 상당히 많은 수의 키프레임이 필요해 수작업의 양이 늘어나는 단점이 있다. 이 대신 최근 선호도가 높은 얼굴 애니메이션 기법이 파라메트릭 모델에 의한 동작제어 방법이다.
이것은 얼굴 표정의 변화가 몇개의 안면 근육 움직임에 의해 만들어진다는 점에 착안, 표정 변화의 기본 요소들을 조합해 임의의 표정이나 발음 모양을 만들어낸다. 근육기반(Musclebased) 모델링 기법도 사용되는데 이는 안면 근육 자체나 이에 해당하는 움직임의 요소를 모두 모델화해 근육 모델이 피부 모델에 미치는 변화를 프로그램화하는 것이다. 즉, 얼굴 모델을 해부학적으로 해석, 얼굴 골격과 피부 사이에 연결된 근육을 스프링 모델로 재현해 스프링의 수축과 이완으로 변환시켜 동역학적으로 계산하고 이로부터 얻어진 결과를 피부 모델의 변형에 이용하는 것이다.
3차원 캐릭터 애니메이션 기술은 기존 키프레임 애니메이션 기법에 의존하던 것에서 점차 동작제어 애니메이션 기법을 활용, 더욱 사실적이고 자연스러운 움직임을 생성해내는 방향으로 발전해가고 있다. 컴퓨터 성능의 발달과 저가격화로 동작제어 애니메이션 기법을 구현하는 데 드는 시간도 급속도로 단축되고 있는 데다 모션캡처 기술의 발달로 다른 기법의 보완도가 점차 높아가고 있다. 앞으로 3차원 캐릭터 애니메이션 기술은 더욱 자연스러운 동작과 얼굴 표정을 가능한 한 실시간에 생성해 낼 수 있도록 하는 방향으로 나아가게 될 것이며 모션캡처 데이터의 변형 및 합성과 같은 동작데이터 조작 기술이나 이미지기반 모델링 및 렌더링 기술 등의 발전이 이를 뒷받침하게 될 전망이다.