d라이브러리









컴퓨터 그래픽스 액체로봇에서 가상공장까지 척척

살아 숨쉬는 장난감, 변화무쌍한 액체로봇, 멸종된 공룡의 부활까지. 의 탄성을 자아냈다. 인간이 상상할 수 있는 모든 것이 컴퓨터에서 나타난다. 영화나 애니메이션에 국한되지 않고 다양한 분야에서 진가를 발휘하는 컴퓨터 그래픽스는 어떤 학문이며, 이런 그래픽 영상은 어떻게 만들어지는 것일까.

몇해 전 선풍적인 인기를 끌었던 3D 애니메이션 ‘토이 스토리’를 기억하는가. 이 애니메이션에 등장하는 장난감들은 마치 인간처럼 다양한 동작을 구현해, 보는 이들에게 놀라움을 안겨준다. 이들에게 왕성한 ‘생명력’을 부여한 모체는 바로 정교한 그래픽 기술. ‘터미네이터 2’에 등장하는 액체로봇이나 ‘쥬라기 공원’에서 부활한 공룡의 모습에서도 ‘그래픽 파워’를 실감할 수 있다. 이처럼 인간의 꿈을 현실로 펼쳐주는 그래픽 영상 속에는 바로 ‘컴퓨터 그래픽스’라는 학문이 숨어 있다.

그래픽 디자인의 밑거름
 

영화‘터미네이터 2’에서 액체 로부터 로봇으로 점차 변화 하는 장면 (시계 방향으로)은 컴 퓨터 그래픽스의 모핑 기법 이 적용됐다.


컴퓨터 그래픽스는 컴퓨터를 이용해 그림을 만들고 조작하며, 그 결과를 화면에 표시하는 과정을 다룬다. 즉 사용자가 여러가지 방법으로(예를 들어 마우스를 사용해) 컴퓨터 상에 표현하려는 대상물의 모델을 형성한 후, 이 모델을 화면 픽셀들의 색깔로 변환해 영상을 만들고, 모델에 기하학적 변형과 움직임을 적용해 애니메이션을 제작할 수 있다.

여기서 주의할 점은 ‘그래픽’과 ‘컴퓨터 그래픽스’라는 용어의 차이. 일반적으로 그래픽과 그래픽스가 같은 개념이라고 생각하기 쉽겠지만, 사실 크게 다른 영역이다. 그래픽은 디자이너나 예술가들이 연필과 종이 대신 컴퓨터라는 도구를 사용해 컴퓨터를 이용해 사실적인 이미지를 탄생시키려는 예술 분야다. 반면 컴퓨터 그래픽스는 사실적인 이미지를 탄생시키기 위한 방법을 연구·개발하는 학문 분야다.

예를 들어 그래픽 소프트웨어를 얼마나 더 잘 다루느냐는 그래픽 전문가가, 얼마나 좋은 그래픽 소프트웨어를 만드느냐는 컴퓨터 그래픽스 전문가가 할 일이라고 생각하면 쉽게 이해가 된다. 따라서 그래픽은 디자인의 영역인 컴퓨팅 예술에, 컴퓨터 그래픽스는 이공계열에 포함되는 전산학 또는 컴퓨터공학에 속한다.

애니메이션을 통해 1990년대 본격적으로 일반인에게 널리 알려지기 시작한 컴퓨터 그래픽스는 원래 컴퓨터공학(computer science)의 일부로 시작된 학문이다. 컴퓨터는 복잡한 숫자를 계산하기 위해 탄생했지만, 그림을 그려내려는 인간의 욕망이 컴퓨터에도 적용된 것이다.

1950년대 초에는 라인 프린터를 통해 그래프나 그림을 출력했는데, 그 방법이 무척 재미있다. 단순한 글자나 선으로 16가지의 명암을 만들어냈다는 것. 가령 알파벳 W, M, H를 한군데 겹쳐 찍으면 새까맣게 되는 원리다. 이런 방법으로 제법 그럴싸한 모나리자를 그릴 수 있었다.

많은 점이 모여 하나의 글자나 기호를 완성해 출력할 수 있는 도트 프린터가 나오면서, 선으로 글자나 기호를 완성해 출력하는 라인 프린터에서보다 실물에 좀더 가까운 모나리자가 탄생하기도 했다. 요즘 젊은이들 사이에서 유행하는, 점이나 여러 개의 작은 사각형을 이용해 재미있는 그림을 그려내는 것을 연상하면 쉽게 이해가 될 것이다. 하지만 이런 그래픽은 컴퓨터를 이용했다는 의미가 있을 뿐, 요즘 말하는 그래픽이라는 용어와 개념상으로 거리가 있다. 다양하고 사실적인 그래픽을 만들어내기 위해 컴퓨터 그래픽스 연구실에서는 어떤 연구를 하고 있을까.

이학, 수학, 공학을 포괄하는 학문

컴퓨터 그래픽스 연구실에서는 사실적인 영상과 애니메이션을 만들어내기 위한 기반 이론과 알고리듬을 공부한다. 이를 위해 필요한 기술은 크게 세단계, 즉 모델링(modeling), 렌더링(rendering), 애니메이션(animation)으로 나눌 수 있다.

먼저 첫단계인 모델링은 어떤 물체를 컴퓨터로 나타내기 위해 추상화하는 과정이다. 즉 표현하려고 하는 물체의 기하학적 정보를 컴퓨터가 처리할 수 있는 수치자료로 표현한다. 타이타닉에서 컴퓨터 그래픽스로 배를 만드는 과정을 예로 들어보자. 배의 구성 부분, 즉 돛, 갑판, 몸통 등을 각각 다면체로 설정하고 각 점, 선, 면에 대한 3차원 좌표를 지정해 배의 크기와 형태를 표현할 수 있다. 사람 얼굴의 곡면 역시 수학적 함수를 이용해 만들어낼 수 있다.

렌더링은 실제 우리가 물건을 보는 것과 흡사한 영상을 만드는 과정이다. 배의 형태는 갖춰져 있지만 명암이나 움직임이 항상 똑같다면 사실적인 느낌이 감소될 것이다. 따라서 배의 각 부분에 빛이 비춰지면 어떤 형태로 밝아지고 어두워지는지, 태양 또는 달빛의 변화에 따라 배의 색조가 어떻게 달라지는지 수치 방정식을 이용해 계산하고 이 값을 적용한다.

마지막으로 실제 동적인 느낌을 부여하는 것이 애니메이션이다. 모델링된 물체의 위치와 형태를 바꿔가면서 여러번 렌더링하면 다양한 형태로 움직이는 동영상을 만들어낼 수 있다.

영화 ‘타이타닉’에서 컴퓨터 그래픽스로 처리된 타이타닉호의 생생하고도 실감 넘치는 침몰 장면은 이와 같은 세단계의 과정을 거쳐 탄생했다.
이런 연구가 세부적으로 이뤄지기 때문에 컴퓨터 그래픽스는 이학, 공학, 수학을 결합하는 총체적인 학문이라고 할 수 있다. 따라서 컴퓨터 그래픽스를 공부하기 원한다면 수학과 물리 분야에 탄탄한 기초지식을 갖고 있어야 하며, 이 지식을 기반으로 한 컴퓨터 프로그램 코딩 능력을 갖춰야 한다.

포항공대의 경우 수학과나 물리학과 또는 컴퓨터공학과의 학부 과정을 거쳐 컴퓨터공학과 대학원 과정인 컴퓨터 그래픽스 연구실에서 본격적으로 컴퓨터 그래픽스를 공부할 수 있다. 수학, 물리, 컴퓨터 분야의 자질은 필수적으로 갖춰야 하고, 여기에 컴퓨터 게임이나 애니메이션을 좋아하면 금상첨화다.

실제로 포항공대의 컴퓨터 그래픽스 연구실에 있는 학생들은 대부분 컴퓨터 게임이나 애니메이션을 좋아한다. 또한 약간의 디자인 감각도 필요하다. 그래픽스 기술을 개발하는데 그치지 않고 개발한 기술이 적용된 견본 영상을 만들어내는 것도 컴퓨터 그래픽스 전문가들이 해야할 일이기 때문이다.

포항공대 컴퓨터공학과 컴퓨터 그래픽스 연구실의 이승용 교수는 “사실적인 물체를 표현하기 위해 필요한 많은 양의 데이터를 효과적으로 다루는 모델링 기법의 개발에 주력하고 있다”면서 “예를 들어 사람의 얼굴을 표현할 때 머리카락 하나하나의 정보와 땀구멍, 피부의 잡티까지 모두 반영해야 사실에 가까운 얼굴을 나타낼 수 있기 때문에, 이 분야를 공부하기 원한다면 그리고자 하는 대상에 대한 정보와 변수를 파악하고 계산할 수 있는 수학과 물리 법칙을 충분히 숙지해야 한다. 또 이를 기반으로 데이터를 효과적으로 처리하고 적용할 수 있는 컴퓨터 프로그래밍 기술이 있어야 한다”고 덧붙였다.

컴퓨터에서 시제품 만든다

컴퓨터 그래픽스는 어느 분야에 가장 많이 응용될까. 대부분의 사람들이 가장 먼저 영화나 광고 속의 특수효과를 떠올릴 것이다. 하지만 컴퓨터 그래픽스가 오로지 예술 분야의 영화나 광고의 특수 효과를 위해 존재하는 학문은 아니다. 컴퓨터 그래픽스는 가장 기본이 되는 컴퓨터공학에서 탄생해 산업공학, 기계공학, 의학 등 다양한 분야와 접목돼 활용되고 있다.

산업 분야의 예를 들어보자. 대규모 건설 작업에 착수하려 할 때 준공에 직접 들어가기 전, 컴퓨터 그래픽스를 사용해 시뮬레이션하면 마치 게임을 하듯 미리 가상 작업을 할 수 있다. 부지의 비율에 맞춰 완공물의 규모를 결정하고, 그 지방의 특색에 따라 환경 요소를 가미해 실제로 컴퓨터에서 가상 운영을 해본다는 것. 완공 후의 모습을 미리 파악한 후 건설 작업에 들어가면 막대한 손실 금액을 감당해야 하는 실패 확률을 최소화할 수 있고, 효율적인 건축 설계가 가능할 것이다.

제품을 생산하는 공장에서도 마찬가지. 과거에는 기계의 시제품을 미리 만들어보고 검증했지만, 가상 컴퓨터 시뮬레이션을 통해 컴퓨터에서 직접 검증, 제품의 상태를 확인할 수 있다.

의학 분야에서 컴퓨터 그래픽스의 이점은 이미 알려진지 오래다. 3차원 초음파 진단기술을 이용하면 태아의 얼굴 형태를 실물과 매우 가까운 영상으로 표시해 외부의 골격을 확인하고 이로부터 기형 유무를 진단할 수 있다. 즉 초음파로 얻어진 태아의 골격은 2차원 형태지만, 컴퓨터 그래픽스 기술을 적용하면 3차원으로 재구성된 입체적인 태아의 골격을 확인할 수 있다. 또한 X선이나 MRI 촬영 후 이 영상을 이용해 가상의 신체를 3차원으로 만들어내면 위험한 시술의 경우 ‘모의 수술’도 가능할 것이다.

굳이 어려운 전문 분야가 아니라 하더라도 우리는 도처에서 컴퓨터 그래픽스를 접하고 있다. 워드프로세서나 엑셀 프로그램 등 마우스를 이용해 아이콘과 버튼을 조작하는 소프트웨어는 GUI(그래픽 사용자 기반, Graphic User Interface)로 돼 있기 때문이다.

컴퓨터 그래픽스의 적용 범위는 얼마나 넓고 어디까지 가능할까. 컴퓨터 그래픽스를 전공한 포항공대 대학원장 박찬모 교수는 “컴퓨터 그래픽스 기술의 발전을 제한하는 요소는 딱 하나, 인간 상상력의 한계”라고 말한다. 우리가 머리 속에 떠올릴 수 있는 모든 것을 표현할 수 있다는 말이다. 인간의 상상을 현실로 풀어주는 컴퓨터 그래픽스의 연구와 발전은 각 분야의 기술을 첨단으로 끌어올리는 지름길이 되지 않을까.

주름과 모공 생생한 가상배우 탄생


인간의 섬세한 피부와 풍부한 표정 변화를 컴퓨터 그래픽스 기술로 만들어진 가상의 인물이 소화해낼 수 있을까. 2001년 7월말 개봉 예정인 ‘파이널 판타지’가 이런 의문에 해답을 제시한다.

개봉 전부터 수많은 관심을 불러일으킨 이 작품에 등장하는 인물의 모습은 눈의 핏발, 입술 주름, 피부의 모공, 손가락의 솜털, 흩날리는 머리카락까지 애니메이션이라고는 믿기지 않을 정도로 정교하다. 이런 표현이 어떻게 가능한 것일까.

먼저 얼굴의 표현에 대해 살펴보자. 먼저 피부가 받아들이고 반사하는 빛의 양을 결정한다. ①). 다음으로 피부에 존재하는 굴곡의 변화를 표현한다(②). 마지막으로 피부의 모공이나 주근깨, 색깔과 잡티까지 피부의 실제적인 모습을 표현한다(③). 설정한 모델에 세밀하게 설정된 피부의 모습을 입히고, 피부의 굴곡변화를 고려해 빛을주면(④)‘ 사람보다 더 사람같은’인물이 탄생한다(⑤) . 빛의 양과 굴곡의 변화, 피부의 실제적인 모습을 표현하기 위해서는 수학과 물리 방정식을 컴퓨터 프로그래밍에 적용해 계산하는 그래픽스 기술이 적용된다.
 

주름과 모공의 표현(컴퓨터 그래픽스)


좀더 사실적인 인물을 창조해내기 위해 무엇보다 중요하게 고려돼야 할 부분이 머리카락이다. 이 영화에서는 머리 가죽에 하나의 머리카락을 한번에 한개씩 붙여나가는 고난도의 기술을 사용했다.

주름의 표현은 어떨까. 얼굴의 움직임에 따라 주름이 적당하게 변화하면 사실적으로 보이지만, 변화가 전혀 없는 주름은 없느니만 못하다.

움직임에 따라 변화하는 주름을 만들어내기 위해 움직임이 시작되는 얼굴 피부(①)와 종료되는 얼굴 피부(④)를 만들고, 두 피부를 컴퓨터 그래픽스의 애니메이션 기법인 모핑(morphing, 단계별로 변화하는 모습을 만들어 합성하는 것)을 적용하면 생생한 주름이 만들어진다. 모핑은‘터미네이터 2’에서 액체가 로봇으로 변화하는 장면이나,‘ 타이타닉’에서 주인공 로즈의 얼굴이 할머니의 주름진 얼굴로 변화하는 장면에서 쉽게 볼 수 있다.


모션캡쳐


한편‘타이타닉’에서 실제 타이타닉호에 타고 있던 승객들은 컴퓨터 그래픽이 만들어낸 가상 배우다. 이 배우들의 움직임은 어떻게 만들어지는 것일까.

먼저 3D 애니메이션 캐릭터를 제작한다. 다음으로 실제 배우들의 몸에 유선이나 무선으로 센서를 부착하고, 그 동작의 움직임을 컴퓨터로 읽어내 디지털 데이터로 변화시킨다. 이를 다시 3D 애니메이션 캐릭터에 적용하면 가상의 배우들이 실제 배우들의 모습을 표현할 수 있다. 이러한 컴퓨터 그래픽스 기술을 모션 캡쳐(motion capture)라고 한다.
 

2001년 07월 과학동아 정보

  • 장미경 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 미술·디자인
  • 소프트웨어공학
이 기사를 읽은 분이 본
다른 인기기사는?