위치로그 : 태그 : 방명록 : 관리 : 새글

4. 3D 기초상식:SUBDIVISION에 관해

Category : 과학,CG,상식 | 2007.03.18 12:35



이전글 참조
1. 3D 기초상식: POLYGON에 관해
2. 3D 기초상식: SPLINE에 관해
3. 3D 기초상식: NURBS에 관해





앞의 포스팅에서 설명한대로, 일장일단의 모습들을 보여준 POLYGON과 NURBS 방식은 3D에서 GEOMETRY를 표현하는 양대산맥으로 자리 잡게 되었습니다.

컴퓨터 사양이 끝발나게 받쳐주기만 한다면야 NURBS가 POLYGON보다 여러모로 유리한 것이 사실이지만 용량문제는 둘째로 치더라도 그 취급성과 NURBS 모델링에 익숙해지기가 좀 까다롭다는 점이 문제였습니다. 이 문제점은 이전 NURBS 관련 포스팅에서도 다뤘던 내용입니다.
그러다 보니 사람들은 자연스럽게 이런 생각을 하게 됩니다. "POLYGON같이 직관적이면서 NURBS의 편리한 곡면 표현을 구현하는 방법이 없을까?" 하고 말입니다.

언제나 필요는 발명의 어머니가 되는법, 사람들의 이런 요구를 실현시키기 위해 많은 사람들이 부단한 연구와 노력을 쏟아 부었고 그리하여 POLYGON과 NURBS의 장점만을 따온 제 3의 GEOMETRY 방법인 SUBDIVISION이 생성되었습니다.




1. SUBDIVISION


이 SUBDIVISION이란 말은 PIXAR의 단편 애니메이션인 GERI'S GAME(1997)에서 처음으로 시도 되었던 모델링 방식으로 PIXAR는 이때 SUBDIVISION으로 그해 시그래프 기술상을 타게 됩니다.


 

(그림1. 이 애니가 바로 GERI'S GAME이다. 아하~~ 하고 하시는 분이 많을 듯. 처음으로 SUBDIVISION을 이용해 구동된 3D 애니메이션으로 그해 시그래프 기술상을 타게 된다. 많은 사람들이 여기서 별 다른 특수효과같은 것이 사용된 게 아닌 단순한 애니메이션인데 어째서 이 애니가 시그래프 기술상을 타게되었는지 갸우뚱 한 사람들이 많았다.)

 

 


 

(그림2. GERI의 두상 모델링. 왼쪽이 SUBDIVISION으로 만든 WIREFRAME 형태이다. 지금 현재 기술이 더욱 더 발전된 SUBDIVISION형식에 비하면 이 WIREFRAME방식도 그다지 좋은 것은 아니다. 지금은 이보다 더 적은 MESH수로 더 부드럽게 표현들 한다.)


 

 



SUBDIVISION은 사전적 용어대로 잘게 나눈다는 뜻으로 POLYGON을 단위 면적당 잘게 나눠서 곡면을 표현하는 방법을 뜻합니다.
여기서 잠깐만, POLYGON을 단위 면적당 잘게 나눠서 곡면을 표현한다고? 그럼 POLYGON 방식이랑 다른 점이 뭐야?
이런 반문이 자연스럽게 나오겠지요.
그렇습니다. SUBDIVISION은 POLYGON 방식이 더욱 더 발전된 케이스이고 그 개념은 기존의 POLYGON과 별 차이 없습니다. 그렇기에 제3의 GEOMETRY 방식이라 이야기 하기도 어떨 때는 좀 그렇고 그냥 POLYGON 방식의 다른 접근 방법으로 볼 수 도 있지요.
그럼에도 불구하고 이렇게 SUBDIVISION이 제3의 GEOMETRY방식이라고 추앙받고 현재 NURBS를 따돌리고 가장 많이 쓰이는 모델링 방식로 각광받는 이유가 다 있기 때문입니다.
다음 그림을 보면 왜 그런지 눈치 채실 수 있을 겁니다.



 

 

 

(그림3. NURBS, POLYSON, SUBDIVISION으로 표현된 큐브들)

 

 


 

그림에서 보다시피 SUBDIVISION은 POLYGON보다 부드러운 면을 NURBS에 비해서도 단일 MESH로 만들 수 있습니다. 즉 이렇게 POLYGON에서 MESH수를 적게 쓰고도 쉽게 NURBS와 같은 품질의 곡면을 표현해 낼 수 있다라는 점은 일종의 패러다임의 변화이지요. 이 방식이 도입 됨에 따라 POLYGON에서도 사람과 같은 유기체를 굳이 NURBS를 쓰지 않고도 매우 높은 품질로써 만들 수 있게 되었고 그렇기에 다소 복잡한 방식의 NURBS를 쓰지 않아도 되었지요. 예전의 POLYGON 같으면 상상도 할 수 없었던 일입니다. 옛날 POLYGON 방식으로도 사람과 같은 캐릭터를 만들긴 했지만 어딘가 어색하고 그렇게 만들기 까지의 과정이 매우 힘들었었는데 이 SUBDIVISION방식을 쓰게 됨으로 해서 쉽게 만들 수 있게 되었으니까요. 그야말로 POLYGON의 직관적인 방식과 편리함이 NURBS의 곡면 표현을 만나게 된 방식이니 말이지요. 실제로 이 SUBDIVISION이 각 3D 소프트웨어들에게 기본 기능으로 장착된 이후 3D를 공부하는 사람들의 작품 퀄러티가 상향 평준화 되었을 정도였으니 이것의 우수함에 대해선 말 다했지요.^^

 

 


 

 

 

(그림4. 사각형 큐브에서 SUBDIVISION 강도를 점점 올렸을 때 모양의 변화를 나타낸 그림. 맨 오른쪽 큐브들이 SUBDIVISON 0일 때고 왼쪽으로 갈 수록 SUBDIVISION 값을 1,2,3씩 올려준 결과이다.)





2. SUBDIVISION의 도입 이후.......

이런 SUBDIVISION이 처음 개발되고 각 3D 소프트웨어에 도입되었을 때 초창기 여러 버그나 문제점으로 인해 그 시작은 순탄치 않았으나 시간이 지나면서 더욱 더 개량되고 퀄러티가 높아짐에 따라 SUBDIVISION 방식은 완전히 자리잡게 되었습니다.


SUBDIVISION 초창기 때부터 이 SUBDIVISION을 적극적으로 활용한 소프트웨어는 LIGHTWAVE였습니다.(물론 타 소프트웨어에서도 이 SUBDIVISION을 초창기 때 부터 사용했었지요. 하지만 적극적으로 활용했다는 점에서는 LIGHTWAVE가 첫손에 꼽힙니다.)

LIGHTWAVE에서는 SUBDIVISION을 메타넙스라고 부르는데 그리하여 LIGHTWAVE는 폴리곤 기반 3D 소프트웨어중 모델링 기능이 제일 뛰어난 소프트웨어로 정평이 나 있었습니다. 그랬기에 한 때 모델링은 LIGHTWAWE서 하고 그 외 애니메이션은 3DS MAX에서 하는 것이 대세일 때도 있었습니다.(이전의 LIGHTWAVE에서 최대 약점은 애니메이션 기능이었습니다. 그래서 애니메이션 파트는 다른 3D 소프트웨어를 많이 썼었습니다.) 오히려 POLYGON 3D 소프트웨어의 대명사인 3DS MAX는 이 SUBDIVISION의 도입이 다소 늦었는데 그 이유는 3DS MAX내의 MESH SMOOTH 명령을 너무 믿었었기 때문이죠.(뭐 기존의 MESH SMOOTH명령 자체가 SUBDIVISION 개념과 비슷한 거여서(완전히 같은건 아니지만) 도입이 늦은거였지만....)

그러다가 결국 3DS MAX에서도 버전 4부터 SUBDIVISION의 본격적 도입을 하게 되는데, MESH SMOOTH 명령안에 포함되어 NURMS(NON-UNIFORM RATIONAL MESH SMOOTH)라는 이름으로 명명 됩니다. 이 기능의 도입으로 3DS MAX의 모델링 기능은 비약적으로 향상되었으며 더 이상 LIGHTWAVE나 NURBS를 지원하는 RHINO에서 모델링 데이터를 끌어쓰지 않아도 될 정도가 되었습니다.

 

이렇듯 메이저 3D 소프트웨어에서 이 기능이 적극적으로 쓰이게 되고 NURBS보다 훨씬 편리하고 직관적이며 그 품질이 NURBS에 버금가는 것이 널리 퍼지게 되면서 모델링의 유행은 NURBS에서 다시 POLYGON기반의 SUBDIVISION으로 바뀌게 되어 현재에 이르고 있습니다. 심지어 NURBS 모델링의 대명사인 MAYA에서 조차 SUBDIVISION 모델링이 요즘 많이 쓰일 정도가 되었습니다.

 


이렇게 쓰니 NURBS가 완전히 이제는 안 쓰고 사장된 것처럼 묘사되었는데 여전히 NURBS는 POLYGON으로 나타내기 힘든 모델링에 많이 쓰이며 특히 정확한 데이터와 곡선이 필요한 CAD나 설계쪽, 그리고 CAD 도면을 바탕으로 3D 입체물을 나타낼때 여전히 유용하게 쓰입니다. 암만해도 POLYGON방식은 SUBDIVISON방식이라고 해도 정확한 데이터 그대로 3D화 시키는데는 조금 무리가 가기 때문입니다. 그래서 인체와 같은 캐릭터 모델링은 SUBDIVISION방식을, 자동차 같은 기계류나 제품 모델링에는 NURBS를 주로 쓰고 있습니다. (물론 꼭 그런건 아니지요) NURBS는 지금도 굉장히 유효하고 많이 쓰이는 모델링 방식입니다.


결론은? SUBDIVISION이 확실히 현재 모델링 방식의 주류가 되었고 많이 쓰이고 있지만 또 이것만 쓰이지 않다는 점을 다시 한 번 상기하시기 바랍니다.(현재는 Z-BRUSH 덕에 POLYGON과 NORMAL맵을 이용하는 SCULPTING방식이 또 대세탔죠) 때에 따라 다양한 모델링 방식을 이용해서 사용하니 말이지요. (모델링에는 왕도가 없다.... 정도 되겠군요^^)



현재는 SUBDIVISION의 단점인 각종 EDGE 추가로 인한 곡면 형성시 각이 지는 것을 타파한, 더 나은 개념인 OPEN SUBDIVISION이 나오게 됨에 따라 SUBDIVISION 모델링 방식은 더욱 더 발전해 나가게 됩니다. 


(그림5. 기존의 SUBDIVISION의 단점을 보완하고 더 나은 결과를 보여주는 OPENSUBDIVISION (보통 OPENSUBDIV.로 표기를 함)이 나오게 됨에 따라 더욱 더 비약적인 발전을 보이게 되었다.)


 




이로써 컴퓨터상에서 OBJECT들을 표현하는 3가지 방식에 대해 아주 간단히 설명하였습니다. 뭔소리 하는지 전혀 이해 못하시는 분들이 많았다고는 생각합니다만....^^
다음 회부터는 3D 소프트웨어를 대표하는 4대 메이저 3D 소프트웨어들에 대해 하나하나씩 다뤄보도록 하겠습니다. 이거야 간단한 역사와 특징을 다루는 것이기 때문에 이전 포스팅처럼 지루하지는 않을거라 생각이 듭니다. ^-^

 

 


 

신고
  1. 이승훈 2008.12.04 15:58 신고 Edit or Delete Reply Permalink

    잘읽었습니다.. subdivision이 왜 필요한지에 대해서 쉽게 이해가 됐습니다 감사합니다.

  2. FAZZ-REBIRTH 2008.12.07 20:05 신고 Edit or Delete Reply Permalink

    이승훈 님>> 쉽게 이해가 가셨다니 다행입니다.

  3. 2011.09.22 15:51 Edit or Delete Reply Permalink

    비밀댓글입니다

  4. FAZZ-REBIRTH 2011.09.24 10:48 신고 Edit or Delete Reply Permalink

    비공개 님 >> 이렇게 허락구하시고 출처를 남기시면 퍼가시는 것, 전혀 문제가 되지 않습니다. 원래 정보를 널리 알리자는 취지하에 만든 블로그니까요 ^-^

  5. 룰루 2012.02.05 19:21 신고 Edit or Delete Reply Permalink

    감사합니다!! 이런건 어떻게 하는걸까 궁금했는데 잘읽었어요

  6. 지나가다 2012.03.08 17:50 신고 Edit or Delete Reply Permalink

    쓰리디하면서 항상 궁금했던점인데 정말 정리잘해주셨네요 이제서야 이해가 가네요 ㅠㅜ감사합니다 ㅜㅠㅠㅜ!!!!

  7. 2012.09.14 13:18 Edit or Delete Reply Permalink

    비밀댓글입니다

  8. show234 2013.02.09 18:14 신고 Edit or Delete Reply Permalink

    비록 07년도 글이지만 정말 좋은 글입니다.
    보면서 이해가 안 됬던 부분이나 잘 몰랐던 부분을 새삼 알게 되었네요.
    좋은 글 포스팅 감사드리고 올해 설 잘 보내시길 바랍니다~ ^^ 헤헤

    • FAZZ-REBIRTH 2013.02.10 14:20 신고 Edit or Delete Permalink

      SHOW234님 >> 07년도라도 기본 원리는 변함이 없으니까요. 화학이나 물리의 기본 법칙이 과거에 발견되었더라도 여전히 진리듯이요 ^^

  9. archit. 2013.06.27 14:49 신고 Edit or Delete Reply Permalink

    라이노와 맥스를 사용하는 건축학도로서 궁금했던 점들이 모두 해소되었습니다!

    너무나 좋은 강의들이 많네요! 감사합니다!

  10. rich 2013.07.17 00:32 신고 Edit or Delete Reply Permalink

    맥스와 마야의 차이와 넙스와 폴리곤의 개념을 제대로 다지려고 검색하다가, 이 블로그로 오게되었습니다- 너무 상세한 설명들 감사합니다 ^^ 학원에서 자세하게 안가르쳐준 개념을 여기서 확실하게 챙기게 되네요.

  11. whaql 2015.01.05 17:50 신고 Edit or Delete Reply Permalink

    노멀맵의 정확한 정의가 뭔가요???ㅠㅠ

    • FAZZ-REBIRTH 2015.01.07 21:28 신고 Edit or Delete Permalink

      whaql님 >> 아주 쉽게 말해 하이폴리곤의 표면을 맵으로 추출해서 로우폴리곤에 씌우면 하이폴리곤처럼 보이게 만드는 기법을 이야기 합니다. 정확한 정의를 이야기 하려면 상당히 전문적인 내용이 들어가서 이정도만

  12. 블렌더맨 2015.04.01 09:18 신고 Edit or Delete Reply Permalink

    글 잘 봤습니다 ㅋㅋ

    넙스가 대단한 기술으로 전 글에서 설명되기에 "뭐야? 그러면 블렌더 버려?"
    하고 생각하다가 다시 이 글을 보니까 생각이 바뀌네요 ㅋㅋ




FAZZ 블로그의 모든 저작물들은 특별한 언급이 없는 한 크리에이티브 커먼즈 라이센스에 따라 저작자 표시, 비영리, 동일조건변경허락조건 하에 이용하실 수 있습니다.
FAZZ 블로그는 IE, FireFox, Opera 등의 주요 브라우저 모두에서 테스트 되었습니다.
Except where otherwise noted, All contents on FAZZ's Blog are licensed under a Creative Commons Attribution 2.5 License
Best viewd with all browsers - FireFox, IE, Opera and more...