1.png

 

이 일러스트를

 

2.jpg

 

이렇게 만들기까지 3개월

 

일러스트를 3D 프린터를 써서 피규어로 만드는 과정입니다. 덕질 뿐만이 아니라 다양한 분야에서 응용할 수 있으니 참고하시면 좋을 듯 합니다.

 

 

초보라도 자신만의 피규어를 만들 수 있다

 

3D 프린터란 단어가 세상을 떠들썩하게 만든 지도 몇 달이 됐습니다. 3D 프린터의 가격이 점점 저렴해지고 여러 샘플이 등장하고 있습니다. 하지만 많은 사람들은 아직 3D 프린터로 뭔가를 만든다는 걸 상상도 못하고 있지요. 그러나 몇 가지만 잘 알아두면 3D 프린터로 물체를 만드는 건 그렇게 어렵진 않습니다.

 

여기선 일본의 GrabTF라는 팀이 2012년 여름의 원더 페스티벌에 전시하기 위해 피규어를 만들었던 과정을 보도록 하겠습니다. 이 팀이 3D 프린터를 써서 오리지널 피규어를 만든 건 이번이 처음이라고 하네요.

 

3.png

 

2012년에는 지금만큼 3D 프린터에 대한 정보가 많지 않았습니다. 그때 고생한 결과를 모아 책으로 냈다고 하는데 그건 한국에서 보긴 어렵고. 여기선 그 책의 일부 내용을 발췌해서 소개합니다.

 

4.png

 

기판 소녀의 일러스트. 피규어의 원화로 사용했습니다.

 

5.jpg

 

기판 소녀의 기판 뒷면.

 

우선 피규어의 원형이 되는 그림을 보도록 합시다. 여기선 기판에 소녀 그림을 그리면서 유명해진 원화를 토대로 해서 피규어를 만들기로 했습니다. 물론 3D 모델링은 직접 해야죠. 이 그림은 어디까지나 원화니까 팀 멤버 사이에 이미지를 공유하기 위한 가이드 라인으로 썼습니다.

 

피규어의 얼굴, 특히 윤곽과 눈은 이미지를 크게 좌우하기에, 머리는 기존 모델을 그대로 쓰지 않고 새로 만들기로 했습니다. 그래서 3D 모델의 제작에 필요한 정면도와 측면도를 그렸습니다.

 

6.png

 

정면/측면은 머리카락이 없는 버전도 그랬습니다.

 

피규어를 만들 때는 일반적으로 결정 각도를 정의하고, 해당 각도에서 보았을 때에 가장 일러스트가 잘 재현되도록 모델링하는 경우가 많습니다. 피규어에서 결정 각도는 얼굴을 정면으로 봤을 경우가 많으니 정면에서 봤을 때는 일러스트와 똑같이 그립니다. 측면은 정면에서 봤을 때와 잘 어울리는 모습이 나오도록 하기 위해 상당히 앞쪽에 눈을 그렸습니다.

 

원화에 코가 없었으니 여기서도 피규어에 코를 그리진 않기로 했습니다. 다만 코가 있는 부분은 코 모양이 나오도록 측면도를 그렸습니다.

 

7.jpg

 

미쿠미쿠 댄스에서 포즈를 잡는 부분

 

원화에서 딱히 상황을 잡진 않았지만 "캐릭터는 공중에 있고, 치마와 머플러가 날리는 중"이라는 이미지가 제작 팀원 사이에 있었습니다. 그렇게 나오려면 어디론가 뛰어 내리거나(가로 이동) 조금 높은 곳에서 뛰어 내려오는(수직 낙하) 상황이어야 할 것입니다. 머플러는 뒤로 나부끼고 있으니 앞쪽으로 향해 뛰는 상황이 가장 자연스럽다는 결론이 나왔습니다. 치마가 부풀어 올랐다는 건 위로 뛰는 중이 아니라 뛰었다가 떨어지는 중, 발을 뻗어 착지하기 직전이며, 손을 뻗은 건 착지 순간에 균형을 잡기 위해서로 해석했습니다. 착지하는 순간엔 시선이 말 밑을 보고 있겠지만 어디까지나 이건 피규어니까 정면을 보도록 했습니다.

 

자세를 잡을 때는 먼저 관절을 움직일 수 있는 피규어를 써서 자세를 시연하는 게 편합니다. 이 단계에선 손은 바로 옆, 왼발은 앞, 오른발은 뒤로 대충 잡아두고, 나중에 미쿠미쿠 댄스를 써서 포즈를 확정지었습니다.

 

그리고 3D 커스텀 소녀 XP라는 야한 이미지 게임 소프트웨어의 인체 모델 데이터를 써서 자세를 검토하고 모델링 템플릿으로 활용했습니다. 그 이유는 상업적인 용도로 출력한 데이터의 2차 사용이 가능하기 때문. 여기선 인체 모델 데이터를 변환하고 자세를 잡고 커스터마이즈를 한 다음 마지막으로 범용성이 높은 웨이브프론트 OBJ 파일을 쉐이드 3D에서 불러오는 순서를 설명하겠습니다.

 

8.png

 

파일 변환 흐름

 

3D커스텀 소녀 XP [공식 사이트에 노출이 심한 이미지가 있으므로 링크는 생략. 미성년자는 찾아보지 마세요]

마우스를 조작해 캐릭터 모델의 외관을 마음대로 정하고, Ctrl+SAVE를 눌러 헤비 세이브 데이터(3D 모델 정보를 가진 특별한 형식의 PNG 이미지 파일)을 저장합니다.

 

tso2pmx [링크]
위에서 출력한 헤비 세이브 데이터를 PMX 파일로 변환합니다. tso2pmx를 실행해 출력 폴더를 입력하고 윈도우 화면에 드래그 앤 드랍하면 지정한 폴더에 출력됩니다.

 

MikuMikuDance [링크]
PMX 파일을 불러들여 자세를 확정해 저장합니다. 포즈를 잡는 기본적인 조작은 단순합니다. 선택 모드에서 관절을 골라 이동하거나 회전하는 식으로 각도를 정합니다. 우클릭으로 시점을 옮겨 가며 조정을 하고, 마음에 드는 자세가 나오면 이 데이터를 VPD 파일로 저장합니다. 이 시점에서는 PMX 파일을 수정하진 않습니다.

 

PMDEditor [링크]
VPD(자세)와 PMX(모델 데이터)을 통합해 PMX(자세를 잡은 모델 데이터)를 생성합니다. 그 후 Shade 3D등의 3DCG 소프트웨어에서 쓸 수 있는 범용 OBJ 포맷으로 변환합니다. PMDEditor에서는 위치, 각도, 길이 등 다양한 조정이 가능합니다. 여기선 치마의 길이를 살짝 늘렸습니다.

 

Shade 3D [링크]
OBJ 파일을 가져와 템플릿으로 만들어 모델링을 수행합니다. 하지만 이게 끝이 아닙니다. 이걸 그대로 3D 프린터로 출력할 순 없거든요. 출력을 염두에 둔 모델링을 하려면 염두에 둬야 할 것이 몇가지 있습니다.

 

3D 출력을 목적으로 한 3D 모델링에서 가장 중요한 건 "부피가 정의되지 않은(안쪽/바깥쪽이 정해지지 않은) 오브젝트는 출력할 수 없다"는 것입니다. 몇가지 사례와 이를 수정하는 방법을 봅시다.

 

9.png

 

×는 두께가 0이라 입체 출력할 수 없습니다.
◯는 두께가 있어 출력이 가능합니다.  

즉 깊이-Z값-이 없는 오브젝트는 출력 불가능합니다.

 

Shade등의 3DCG 소프트웨어는 두께 0의 오브젝트를 간단하게 만들 수 있지만, 3D 프린터는 두께가 0인 오브젝트를 출력할 수 없습니다. 천이나 종이처럼 얇은 걸 만들고 싶어도 양면을 모두 만들고 어느 정도 두께를 줘야만 합니다.

 

10.png

 

×는 자유 곡면의 위쪽에 구멍이 있습니다.
한점으로 모아서 구멍을 막을 필요가 있습니다.

구멍이 있는 오브젝트는 출력 불가능합니다.

 

표면에 구멍이 있는 오브젝트도 안됩니다. 수정 방법은 여러가지 있지만 예를 들면 그림 같은 자유 곡면의 경우, 구멍의 윤곽이 닫힌 선형모양에서 [툴]→[형상 편집]→[한점으로 수습]을 골라 구멍을 막는 일이 가능합니다. 만약 항아리 같은 모양을 만들고 싶다면 안쪽에도 면을 만들어야 합니다.

 

11.png

 

빨간색 점선이 법선입니다. 폴리곤 바깥쪽에 수직으로 표시.

 

×는 공 위쪽 절반의 법선이 오브젝트의 안쪽으로 향하는 반전 폴리곤으로 수정이 필요합니다.

◯는 반전 폴리곤이 없습니다.

반전 폴리곤도 안됩니다.

 

3D 모델의 각 면(폴리곤)은 안쪽과 바깥쪽이 정의되어 있습니다. Shade의 경우 폴리곤의 안밖을 따지지 않아도 렌더링할 수 있지만, 3D 출력에선 안과 밖을 구분하는 것이 매우 중요합니다. 어느 한 부분이라도 폴리곤이 반전되어 있다면 어느 쪽에 올바른 값인지 알 수 없어 에러가 나오게 됩니다.

 

Shade는, 법선 표시, 단면 쉐이딩, GLSL등 면이 반전됐을 경우 부자연스럽게 표시하는 프리뷰 방법이 있습니다. 반전 폴리곤을 수정하는 방법은 선택 폴리곤을 반전(폴리곤 메시의 경우)하거나 오브젝트 전체의 면을 반전하거나, 법선 방향을 통일하면 됩니다.

 

그 외에도 3D 출력에서 조심해야 하는 경우가 있습니다. 구멍 정보를 만들어 구멍을 뚫거나, 서브디비전 서피스, 허리, 트림 등은 렌더링 결과대로 출력이 불가능한 경우가 있습니다. 하이 폴리곤으로 변환해 형상을 만들어 둘 필요가 있습니다.

 

12.png

 

MiniMagics의 표시 사례입니다. 빨간 테두리로 표시해둔 반전 삼각형과 배드 엣지가 모두 0이 아니면 3D 출력이 불가능합니다. 미리보기 화면의 붉은 부분이 반전 삼각, 노란 선이 버드 엣지를 나타냅니다.

 

실제 모델링을 하기 전에 에러 표시를 확인해 둡시다. MiniMagics라는 무료 소프트(링크)에서 각 부품이 입체 출력 가능한 모델인지를 확인할 수 있습니다.

 

모델 데이터를 STL 포맷으로 변환해 MiniMagics에서 가져옵니다. "파트 페이지"의 "검증" 표시를 보고 "반전 삼각"(반전 폴리곤)과 "배드 엣지"가 0인지를 확인합니다. 아닐 경우엔 3D 출력이 안되니 수정해야 합니다. 계속해서 에러를 확인하면 반복 수정 작업을 줄일 수 있을 것입니다.

 

배드 엣지(오픈 엣지)는 오브젝트 표면의 구멍 윤곽과 판형 폴리곤의 끝부분을 가리킵니다. 껍질은 폴리곤을 구성하는 폴리곤 메시의 수입니다. 이것은 반드시 하나로 모을 필요는 없지만, 출력 기기마다 다를 수 있으니 확인이 필요합니다.

 

13.png

 

피규어 모델의 데이터 완성도

 

원래는 변환 데이터를 바탕으로 최소한만 고쳐 피규어를 만들 계획이었지만, 원래 데이터가 3D 출력을 목적으로 만들어지지 않았기에 MiniMagics의 오류 검사에서 방대한 에러가 발견됐습니다. 그래서 변환 데이터는 3D 템플릿으로 쓰고 대부분을 Shade에서 고쳤습니다. 다만 3D 템플릿을 미리 만들었기에 모델링 단계에서는 자세나 전체의 균형을 크게 신경 쓰지 않고 작업을 할 수 있었습니다.

 

모델링 작업의 대략적인 흐름은 이렇습니다. 머리, 머리카락, 머플러, 재킷, 치마, 손, 다리, 양말, 신발의 기반을 따로 모델링 하고, 각각의 부분을 MiniMagics에서 에러 체크하는 식이었습니다. 그리고 오류가 없는 부품을 하나로 모아 모델 데이터가 나옵니다.

 

그럼 3D 데이터에서 주의해야 할 점을 봅시다. 이건 3D 프린터의 회사나 모델에 따라서 달라집니다. 모델링 작업을 끝내고 이를 확인하는 게 아니라, 초기 단계에서 될 수 있는 대로 확인을 하고 어느 정도 방침을 정해서 작업을 해야 실패하지 않습니다.

 

파일 포맷은 회사마다 다릅니다. 자신이 해당 파일 포맷을 만들 수 있을지를 반드시 확인해야 합니다.

 

실제 인쇄에선 ZPrinter 650이라는 풀 컬러 3D 프린터를 사용했는데, 색상을 원하는대로 지정 가능해서 여기선 치마에 텍스처를 넣었습니다. 복잡한 무늬나 문자를 출력할 경우 어디까지 출력이 되는지를 미리 확인해 둬야 합니다.

 

14.png

 

왼쪽은 치마에 적용한 체크무늬 텍스처. 그리고 렌더링한 결과를 3D 프린터로 출력한 후.

 

또 3D 프린터로 출력할 수 있는 크기는 한계가 있으니 대형 모델을 출력하고 싶은 경우에는 주의가 필요합니다. 또 작은 크기를 만들 경우에도 세부 재현성의 한계나 강도를 고려해야 합니다.

 

크기나 재료(사용하는 3D 프린터)에 따라 가격은 많이 달라집니다. 크기가 커질수록 여기에 들어가는 부피(재료의 양)은 세제곱에 비례하니, 가격도 확실히 확인해 둘 필요가 있습니다.

 

15.jpg

 

완성된 피규어

 

처음으로 만들어 본 피규어 제작이었지만 3D CG 소프트웨어를 사용해 3D 프린터에서 출력함으로서 비교적 어려운 작업을 실현할 수 있었습니다.

 

소스: http://akiba-pc.watch.impress.co.jp/docs/column/3dpcontest/20131030_621379.html

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.