'3D 모델링'에 해당되는 글 4건

  1. 2016.01.06 OpenSCAD 사용 예
  2. 2016.01.03 OpenSCAD를 사용한 3D 모델링
  3. 2015.08.18 드론 3D 매핑 (10)
  4. 2015.04.10 스케치업 사용법 - 사진매칭(Match Photo)-2

엊그제 OpenSCAD를 처음 사용해본 글을 올렸는데, 오늘은 OpenSCAD를 사용하는 방법을 간단한 예제를 통해 소개하는 글입니다.


먼저... 최종목표. 엊그제 스마트폰 뒤적거리다가 아이디어 상품이라는 글에서 아래 사진을 봤습니다. 스폰지를 꽂아두는 용도랍니다. 귀엽게 생겼죠?


그다지 복잡하지도 않고... 해서 OpenSCAD 연습할 겸 한번 만들어보기로 했습니다.



OpenSCAD는 기본적으로 간단한 도형으로부터 출발해서 합치거나 빼거나 해서 복잡한 물건을 만들어가는 개념입니다. CGS(constructive solid geometry)라고 합니다. 먼저 제가 최종적으로 만든 것부터 보여드리겠습니다. 콧수염이랑 맨 아래쪽이 그림이 이상하지만, 렌더링 문제이므로 그냥 넘어가 주세요.



이제 제일 먼저 얼굴을 만들어보겠습니다. 먼저 아래처럼 구를 두개 만듧니다.

        sphere(r=30, center=true);

        translate([0,40,0])sphere(r=10, center=true);

아래는 그 결과입니다. 위의 명령으로는 원점에 반지름이 30인 구를 만들었고, 아래는 반지름이 10인 구를 만든 다음 y 축으로 40을 이동한 겁니다. 그림 좌측 아래에 보면 x,y,z 축의 방향을 알 수 있습니다.


다음은 hull()을 이용해 이 두개의 구를 완전히 감싸는 표면(convex hull)을 만듭니다. 

    hull(){
        sphere(r=30, center=true);
        translate([0,40,0])sphere(r=10, center=true);
    }  
아래는 그 결과입니다. 얼굴 형태는 이걸로 완성



얼굴을 함수(module)로 저장해둡니다. 모두 이런식으로 모듈로 저장해두면 나중에 사용할 때 편합니다. 다른 것들도 모두 모듈로 저장해 뒀습니다.

module face(){

    hull(){

        sphere(r=30, center=true);

        translate([0,40,0])sphere(r=10, center=true);

    }  

}


다음은 모자를 만들어 보겠습니다. 아래 두 줄로 만들었습니다. 둘다 원기둥입니다. cylinder로 만들어도 되지만, 위는 먼저 원을 만들고 높이를 2만큼 올려서 앏은 원반을 만들었습니다.
    translate([0,0,-1]) linear_extrude(height=2,center=true) 
         circle(r=25);
    translate([0,0,15]) cylinder(h=30, r1=20, r2=25, center=true);
아래 원기둥은 아래쪽 반경은 20, 윗쪽 반경은 25로 해서 위가 더 넓은 모자입니다.


이번엔 귀를 만들어보겠습니다. 귀는 도넛 형태를 하나 만든 다음 가운데를 평면으로 막아주는 방법을 썼습니다.

        rotate_extrude() translate([3.1,0,0])circle(r=3);

도넛처럼 만드는 게 조금 까다로운데요, 일단 먼저 원을 그리고 x축 방향으로 이동을 시킵니다. (모든 점들이 x>0이 되어야 한답니다.) 그러면 아래와 같이 됩니다. (circle이니까 아직 두께가 없는데, openSCAD에서는 1인 것 처럼 그려줍니다.)


그 다음 rotate_extrude를 적용하면 아래와 같이 도넛 형태가 됩니다. 도자기 빚는 물레처럼 생각하면 되는데, 다만, 직접 z 축을 중심으로 회전시키는 게 아니라, y 축을 중심으로 회전을 시킨 뒤, 회전축을 z 축 방향으로 (x 축을 중심으로 90도) 회전시킨다고 생각하시면 됩니다.



그 다음 가운데 부분은 평면으로 막아주고, 이 두 개를 합집합(union)시킨 다음, scale 명령을 사용해 약간 길쭉한 형태로 만들었습니다. 여기에서 union은 따로 쓸 필요가 없답니다. 그냥 함께 있으면 기본이 union으로 처리된다네요.

     scale([1,0.7,0.8]) union() {
        rotate_extrude() translate([3.1,0,0])circle(r=3);
        cylinder(h=4.5,r=2.5,center=true);
    }
아래는 그 결과입니다.


이런 식으로 부분 부분 만들어진 것들을 적당히 회전, 평행 이동시켜 합쳐주면 됩니다. 귀는 좌측과 우측에 대칭되도록 붙여주었습니다.

face();

translate([0,30,0]) rotate([-90,0,0]) hat();

translate([-26,14,0]) rotate([0,0,62]) ear(); //left

translate([26,14,0]) rotate([0,0,-62]) ear(); //right

아래는 그 결과입니다.



다른 것들은 단순한 도형으로 구성이 가능한데, 수염은 형태가 좀 복잡할 뿐 아니라, 동그란 표면위에 붙여야 해서 좀 까다로웠습니다.
먼저 구글에서 moustache dxf로 검색을 해보니 마침 있더군요. 이 파일을 읽어 들여서 높이를 1로 만들었습니다. OpenSCAD는 현재 dxf와 stl 파일만 불러올 수 있습니다.
linear_extrude(height=1) import(file="moustache.dxf", convexity=5);


그 다음 resize()와 translate()를 사용해 이 녀석의 크기와 위치를 조정한 뒤, 얼굴면과의 차이를 구했습니다. 그 결과 아랫부분이 둥글게 되었습니다.

difference() {

            translate([-22.5,-10])resize([45,15,50])

linear_extrude(height=1) import(file="moustache.dxf", convexity=5);

            face();

}



 
그 다음 이녀석을 조금 아래로 내린 후 얼굴면과 교집합. 그래서 아래와 위가 모두 얼굴면을 따라 동그랗게 만들었습니다. 
intersection() {
        face();

        translate([0,0,-10]) difference() {
            translate([-22.5,-10])resize([45,15,50])linear_extrude(height=1)                 import(file="moustache.dxf", convexity=5);
            face();
        }
}


눈은 그냥 구(sphere)로 만들었고, 머리카락은 원기둥으로 만들었습니다. 아래쪽에 있는 스폰지 고정하는 것은 폴리곤을 그리고 offset을 적용한 뒤, mirror를 적용했는데, 자세한 건 생각합니다.


그리고 최종적으로 얼굴과 모자의 아래쪽 반쪽을 제거했습니다. 벽에 붙여야 하니까요.


아래가 최종결과입니다. OpenSCAD에는 랜더링하는 방법이 두가지가 있습니다. Preview(F5)는 빠르지만 부정확하고, Render(F6)는 느리지만, 정확합니다. 아래는 Render로 생성한 것입니다. (색을 지원하지 않는다네요) STL로 출력하기 위해서는 Render를 먼저 해야 하는 것 같습니다.



이 파일은 Thingiverse에 올려두었습니다. STL 파일도 있고, SCAD도 있으니 참고하세요.

http://www.thingiverse.com/thing:1250277


민, 푸른하늘

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

지금까지 3D 프린팅을 위해 3D 모델을 만들때는 거의 Sketchup을 사용해 왔습니다. 


Sketchup의 강점은 무엇보다 쉽다는 것입니다. 대충 마우스로 클릭클릭한 후 Extrusion 도구를 선택하고 드래그만하면 3D 모델이 만들어지니, 간단한 모델이라면 초등학생들도 쉽게 만들 수 있습니다.


그래도 3D 모델을 만드는 것은 쉬운 일이 아닙니다. 특히 Sketchupd으로는 곡면을 만드는 건 거의 불가능에 가깝습니다. 그러다 보니 저를 포함해서 3D 모델링이 쉽지 않은 사람들은 Thingiverse같은 사이트에서 다른 분들이 만들어 놓은 파일들을 찾아 약간 변형해서 사용하는 경우가 많습니다. 


며칠 전부터 제가 찾고 있던 모델은 아래와 같은 겁니다. http://www.thingiverse.com/thing:418207 입니다. 바람이 불때 등등 문이 원하지 않게 닫히는 걸 방지하도록 문 아래에 끼워두는 겁니다. Door Stopper로 검색해 보면 이것 말고도 여러가지 모델을 찾을 수 있습니다.



그런데 이 모델에는 일반적으로 3D 프린팅에 사용되는 .STL 파일외에도 .scad 파일도 함께 들어 있습니다. 잠깐 읽어보니, 3D 모델링한 원본 파일이라고 되어 있더군요. OpenSCAD 라는 오픈소스 3D 모델링 소프트웨어로 모델링한 것이라는 겁니다.



스케치업도 근근히 사용하고 있는 중인데, 새로운 프로그램을 배워야 한다는 게 내키지 않아서 그냥 약간만 읽어보려고 했는데, 이 프로그램이 아주 재미 있었습니다. 스케치업은 형태 위주로 화면에서 직접 편집을 해야 하는데, (아마 다른 3D 소프트웨어도 비슷할 것 같습니다.) 이 OpenSCAD는 프로그램을 짜는 방식으로 3D 모델링을 한다는 점이 완전히 달랐습니다. 예들 들어, 제가 저위에 보여드린 MouseStop.scad 파일은 그냥 텍스트 파일에 불과합니다. 이걸 텍스트 에디터에서 열어보면 아래처럼 생겼습니다. 



그러니까... 프로그램을 짤 줄 아는 사람들은, 특히 java나 C 계통 프로그램을 짜본 사람들은 몇가지 기본 함수만 알면 어렵지 않게 3D 모델을 제작할 수 있습니다. 프로그램을 못짜는 사람들에게는 그림의 떡이겠지만요. ㅎㅎ


기본적으로 OpenSCAD는 구, 육면체, 원기둥 과 같은 간단한 모델(Primitives)을 조합하여 3D 모델을 만드는 방식입니다. 합집합, 교집합, 차집합 등의 연산도 지원하므로 간단한 모델들을 먼저 만든 후, 이를 조합하여 최종적인 3D 모델을 제작할 수 있습니다. 필요하다면 if 와 같은 조건문, 그리고 for와 같은 반복문도 사용할 수 있고요.


그래서 오늘 하루 종일 OpenSCAD를 공부했습니다. 그래서 대충 무엇이 들어 있는지는 이해를 했습니다. 말씀드린 것처럼 프로그램의 원리를 알면 그다지 까다로울 게 없습니다.


그리고 나서는 원래 다운받았던 MouseStop.scad 파일을 약간 수정했습니다. 제일 필요했던게...  원본은 높이가 너무 낮아서 원래 기능을 할 수 없었던 것을 높이를 높여서 해결했고요, 등부분에 골을 파서 미끄럼을 방지했습니다. 수염도 3개로 만들었네요. 이렇게 수정하다보니 원래 모델이 동작하는 부분들을 약간씩 수정했고요. 아래는 그 결과입니다.



최종 파일은 아래에서 다운 받으시면 됩니다.


http://www.thingiverse.com/thing:1242018


아래는 이 모델을 STL로 출력해서 3D 프린터로 제작한 것입니다. 



문틈에 끼워봤습니다. 크기는 잘 맞네요. 우리 마눌님은 귀엽다고 아주 좋답니다. ㅎㅎ 다만 밑바닥이 너무 미끄러워서 뭔가 조치를 해야 할 것 같네요.



다음은 제작과정. 제 Ares 프린터는 TimeLapse 제작기능이 있습니다. 모델을 출력하면 자동으로 동영상이 저장됩니다. 


===

다만, OpenSCAD로는 예술적으로 예쁘게 렌더링 한더던가 하는 기능은 제한적입니다. 그런 기능을 원하면 다른 도구를 찾으라고 되어있네요. 대신 정확한 모델을 만들 때, 예를 들어 기계 부품을 만들 때 등에서는 아주 최고의 도구가 될 수 있습니다.


아무튼 재미있는 도구를 발견해서 기분이 좋네요. 앞으로 스케치업을 사용할 일이 많이 줄어들 것 같습니다. 게다가 오픈소스이니... 어둠의 경로를 살필 필요도 없겠고... 훨씬 더 기분이 좋네요~~ ㅎㅎ


민, 푸른하늘

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 8. 18. 14:38

이 문서는 APM Copter 를 사용한 멀티 곱터를 사용하여 3D 매핑에 필요한 하드웨어 및 소프트웨어에 대한 내용을 다루고 있습니다.

원문은 http://copter.ardupilot.com/wiki/common-3d-mapping/ 입니다. 그냥 쉽게 생각해서... 한 3-400 만원 정도면 3D 매핑까지 가능한 시스템을 구성할 수 있을 것 같네요.


개요


이 페이지는 Copter/Plane 과 적당한 장비를 사용하여 3D 지도를 제작하는 방법을 소개하는 내용입니다. 


위 영상은 Sylvain 씨가 제작한 "the fallen blockhouse" 로서, 2014년 T3 경진대회 당선작입니다. 여기를 누르시면 3D 모델을 볼 수 있습니다.


필요한 장비


고정익 비행기 또는 멀티콥터

디지털 카메라

S100, S110, Elph 110 HS and SX230HS 등의 CHDK가 가능한 캐논 카메라

Canon ELPH 520 HS 등, CHDK는 지원하지 않지만 카메라 셔터를 처리하는 방법이 있는 카메라

GoPro의 경우 어안렌즈를 사용하므로 비추

하방향 짐벌 또는 기체에 카메라를 장착할 수 있는 마운트


샘플 작업



60~100 장의 사진이 있으면 좋은 3D 렌더링이 가능하다. 인접한 사진간에는 최소한 65% 이상 중복되어야 하는데, 80% 이상 을 목표로 촬영하는 것이 좋다. 항공사진에 지상에서 촬영한 사진을 추가할 수도 있다.


촬영고도는 주제에 따라 달라진다. 넓고 평평한 지역의 경우, 고도 40m - 80m 정도로 촬영하면 아주 상세한 영상 (따라서 상세한 최종결과물)을 얻을 수 있다. 하지만, 건물의 경우에는 고도를 더 높여야만 (건물로부터 100미터 이상) 왜곡을 줄일 수 있다.


트랙간의 간격은 25미터 에서 100미터 간격으로 촬영하는 것이 좋다. 기체 고도가 높을 수록 트랙간 간격은 더 멀어지게 된다. 일반적으로 트랙간 간격은 65% 정도 중복되도록 설정하면 좋다. 


작업도중에 카메라 셔터가 자동으로 작동되어야 한다.(2초간격 5초간격 혹은 10미터 간격 등) 많은 카메라에는 일정한 시간 간격으로 사진을 촬영하는 기능이 있다. CHDK를 탑재한 캐논 카메라의 경우 이러한 기능을 수행하는 script를 실행시킬 수 있다. 또다른 방법으로, Copter/Plane/Rover 가 CHDK를 탑재한 캐논 카메라에 대해 시간기준/거리기준 으로 셔터를 터트리도록 설정할 수도 있다.


이러한 작업에는 다음과 같은 명령어가 사용된다.

  • TAKEOFF - "Alt" 열에 주어진 목표 높이(통상 meter)로 기체를 띄워 올림
  • WAYPOINT - 촬영지역을 나르는데 필요한 지점을 가능한 한 많이 격자형태로 만들어줌. 고도는 "Alt" 열에 입력해야 함. Delay 열에 "1"을 추가하면 각 지점에 도착할 때 기체가 1초간 정지한다. 
  • DO_DIGICAM_CONTROL - APM/Pixhawk 가 CHDK 혹은 servo를 사용하여 연결되었을 경우, 카메라 셔터가 즉시 눌러지도록 함.
  • DO_TRIGG_DISTANCE - 카메라 셔터가 일정간격(미터)마다 터지는 것 외에는 DO_DIGICAM_CONTROL과 동일함. 여기에서 거리는 "Dist (m)" 이라는 첫번째 열에 정의된다. 참고: AC3.1.2에서는 이 명령을 정지시키는 명령이 없으므로, 기체가 AUTO 모드에서 빠져 나올때까지 계속해서 셔터가 눌러지게 된다.
  • RETURN_TO_LAUNCH - 작업에서의 마지막 명령으로 기체가 원위치로 돌아옴.
  • DO_SET_ROI - 기체의 앞방향 및 짐벌의 방향을 지도상의 특정한 한점을 가르키는데 사용됨. 참고; AC3.1.2에서는 기체가 Waypoint를 지나면 다음 Waypoint를 가르키게 되므로, 한 점을 계속해서 가르키도록 하고자 할 경우에는 각각의 Waypoint 마다 DO_SET_ROI 명령을 반복하여 사용하여야 한다. AC3.2에서는 이러한 작업이 필요하지 않도록 기능이 수정되었다.


추천하는 Desktop용 3D 매핑 소프트웨어

  • MicMac 기반의 toolchain. ImageJ/Fiji, QGIS, SAGA GIS 등과 함께 사용). 오픈소스. 무료
  • VisualSFM : 상업용이 아닌 경우 무료
  • Photoscan : 표준 버전 $179. 지오레퍼런싱, 정사사진 제작등을 포함한 프로 버전은 $3,499
  • Pix4D : 6500 유로 혹은 매월 260 유로
  • OpenDroneMap : 오픈소스, 무료

이 모든 소프트웨어들은 작동방법이 상당히 비슷하다. 즉, 기체에서 촬영한 사진 (지상에서 손으로 촬영한 사진도 추가할 수 있음)을 입력하면 3D 영상을 생성한다. 그 모든 영상을 자동으로 매칭하는데, 사진이 촬영된 실제위치는 필요없다.

모델의 공유

  • Sketchfeb : 완성된 3D 모델을 올릴 수 있으며, 다른 사람들은 웹브라우저를 통해 대화식으로 모델을 볼 수 있다. 이 글 맨위에 있는 이미지가 그 예이다.
  • Three.js : 사용자의 웹페이지에 3D 모델을 올릴 수 있다.
  • Blender : 3D 모델을 사용하여 가상 fly-through 비디오를 생성할 수 있으며, 유튜브에 올릴 수 있다. Richard 의 작품이 그 예이다.
  • Dronemapper : 원시 영상을 올리고 관리할 수 있다.


기타 문서 및 예제


Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요

  1. 길가다주웠어

    볼수록 정말 잘만든 것 같습니다. 좋은 자료 잘봤습니다.

    2015.11.30 11:00 [ ADDR : EDIT/ DEL : REPLY ]
  2. 도와주세요

    안녕하세요. 학교에서 연구 프로젝트로 ardupilot mission planner와 cannon chdk를 이용해서 survey tool을 사용해서 오버랩된 사진을 촬영하려고 하고 있습니다. 그런데 chdk 작동과 pixhawk를 통해 remote trigger를 servo를 통해 작동하는 것은 성공하였는데, mission planner를 통해 계획한 "Do_set_cam_trigg_dist" command에 따라 쿼드콥터가 사진을 찍지를 않네요. 여러가지 방법을 다 동원해 보고 있는 중입니다. 혹시 지상 점검에서 mission plan의 way point를 통한 사진을 찍으려면 드론을 arm상태에서만 점검이 가능한가요?

    2017.05.12 10:57 [ ADDR : EDIT/ DEL : REPLY ]
    • 시동을 건 상태에서만 되는 건 아닌 것 같고요... 어차피 지정한 거리만큼 이동하면 Pixhawk에서 촬영 명령이 나오거든요.

      Do_SET_CAM_TRIGG_DIST를 1 정도로 작은 값으로 설정하신 후, 돌아다녀 보시면 카메라가 자동으로 터져야 합니다.

      2017.05.12 14:17 신고 [ ADDR : EDIT/ DEL ]
  3. 도와주세요

    네.Do_SET_CAM_TRIGG_DIST는 잘 작동 됩니다. 그런데 survey mission으로 계획한 자료를 write하고 지상에서 계획한 way point를 돌아다녀도 카메라가 작동이 안되네요. 이건 왜 그런걸까요? 비행전에 확인해야 테스트 비행을 할텐데...

    2017.05.15 21:58 [ ADDR : EDIT/ DEL : REPLY ]
  4. 도와주세요

    그러게 말입니다. 일단 비행전 지상에서 Do_SET_TRIGG_DIST를 10m로 셋하고 돌아다니니 자동으로 10m간격으로 촬영하는 것 같아서, 비행 테스트에서 survey로 플랜하고 올렸더니 아무것도 촬영하지 않았더라구요. 그래서 다시 지상에서 Way point 밑에 DO_DIGICAM_CANOTROL을 WRITE해서 돌아다녀보니 전혀 작동을 하지 않더군요. 지금 미국에서 유학중이라 미국 community site와 푸른하늘이 님께 동시에 자문을 구하고 있습니다. 분명히 제가 쓰는 CHDK script는 정상적으로 작동하고, 지상에서 거리에 따른 촬영도 되는데 왜 survey tool에서 계획한 촬영은 안될까요...2주째 펌웨어 엎어가며 고생중입니다. 혹시 parameter의 CAM_TRIGG_DIST를 0으로 셋하고, survey tool로 계획해서 촬영 지점간 간격이 10m로 나왔다면, 자동으로 10m 간격 촬영 명령이 오버라이드하는 건지요?

    2017.05.16 11:37 [ ADDR : EDIT/ DEL : REPLY ]
  5. 파란이

    1.혹시 toolchain 사용해보신적 있나요?
    2.기존 픽스호크에 있는 펌웨어를 다운로드 어떻게 하나요?

    2017.09.27 00:18 [ ADDR : EDIT/ DEL : REPLY ]
    • - toolchain은 사용한 경험이 없습니다.
      - 픽스호크에 올려져 있는 펌웨어를 다운로드 받는 방법은 없는 것 같고요, 대신 파라미터를 다운로드 받을 수는 있습니다.

      2017.10.07 21:37 신고 [ ADDR : EDIT/ DEL ]

오늘도 3D 모델을 제작하는데 가장 널리 간편하게사용할 수 있는 스케치업의 투토리얼 비디오에 대한 해설입니다. 이번에는 어제 올렸던 사진을 촬영하여 모델을 제작하는 사진매칭(Match Photo) 에 이어 고급 기능에 대한설명입니다.

이제까지의 비디오 강좌는 3D 프린팅 카테고리를 열어보면 한꺼번에 보실 수 있습니다. 사실 예전에 작성한 글들은 스케치업이 버전업되고, 비디오 자체도 바뀌었기 때문에 손을 봐야 합니다만, 전체적인 내용에는 그다지 차이가 없어 그대로 놓아뒀습니다. 이해해 주시면 감사하겠습니다.


우선 스케치업을 실행하신 후 "View->Tool Bars-> Large Toolset"을 선택해 두시면, 비디오에 나오는 것과 비슷한 환경이 됩니다.

먼저 비디오를 보여드리고, 중요한 부분만 따로 추려 아래에 설명을 하였으니, 이 비디오를 다른 창으로 띄워놓고 아래의 설명을 함께 보시는 것이 좋습니다.



먼저 사진매칭(Match Photo)에 사용할 사진을 촬영하는 방법입니다. 우선 사진은 아래와 같이 건물전체가 가능하면 많이 보이도록 모서리에서 촬영하는 것이 좋습니다. 



다음으로 가능한한 장애물이 없도록 촬영하는 게 좋습니다. 특히 사진을 사용해 텍스처를 올려야 한다면 반드시 피해야겠죠.



다음으로... 아주 중요한 사항으로, 사진 일부를 잘라낸(Crop) 사진은 사용해서는 안된다는 것입니다. 특히 책이나 인터넷에 올려진 사진의 경우, 이렇게 크롭한 사진이 많은데, 이걸 사용할 경우 사진 투영 관계가 달라져서 올바르게 모델링 할 수 없습니다. 



마지막으로 사진을 정렬할 때, 바닥선은 정렬에 사용하지 말라는 것입니다. 이 선은 지면의 기울기로 인해 건물에 있는 선들과는 달리 수평선이 아닐 수도 있다는 겁니다.



사진을 읽어들이고... 축을 정렬하고... 모델링 등의 과정은 이전 비디오와 동일하니 생략합니다.


여기에서는 다른 방향에서 촬영한 새로운 영상을 읽어들이고 정렬하는 방법을 설명합니다. 뒷면도 모델링한다면 이게 꼭 필요하겠죠.


먼저 지금까지 완성된 모델을 새로운 영상을 촬영한 위치에 맞춰 대략 맞춰줍니다.



그다음 동일한 방법으로 사진을 Import 한뒤, 아래와 같이 Model을 Off 시키면 사진만 보이게 됩니다. 이 상태에서 빨강/초록 점선들을 사진상의 수평선에 맞춰줍니다.



마지막으로 축의 위치를 맞춰주여 하는데, 이때, 이전 사진에서 설정한 축의 위치와 동일한 곳에 설정해 줍니다.



이제 다시 Model을 On 시켜보면, 원래 작업하던 모델과 새로 읽어들인 사진이 잘 정렬되어 있게 됩니다.



하지만, 방향만 맞고 크기는 다른데, Z축 방향의 파란점선을 끌어서 크기를 맞춰줍니다. 다만, 완벽하게 맞추는 건 원래 불가능하므로, 너무 짜증내지말고 적당히 맞추라고 하네요. ㅎㅎ



이제 정렬이 완료되었으므로, 아래 그림처럼 탭을 눌러가면서 필요한 부분을 모델링하면 됩니다.



이런 식으로 모두 모델링 작업을 끝낸 후, 이제 필요하다면 만들어진 모델에 사진을 덮어씌워줄 수 있습니다. 먼저 아래처럼 원하는 면을 선택하고,



다음으로 마우스 오른쪽 버튼을 클릭해서 "Project Photo"를 선택하면 됩니다.



아래는 오빗 도구를 사용해 돌려가면서 텍스처를 확인하는 모습입니다.



아래처럼 모델을 모두 선택하고, "Match Photo" 다이얼로그에서 [Project Texture from Photo]를 눌러도 됩니다.



다시 다른 사진이 보이는 View로 돌아가서, 필요한 면들을 선택한후 다시 동일한 작업을 수행해 줍니다.



이렇게 하면 모델링하고 사진으로 텍스처 하는 방법은 끝입니다. 그래도 모델링이나 텍스처링이 안되는 부분은 따로 편집해야겠죠.


====

그 다음엔... 이전에 만들어진 모델을 사진과 정합시키는 방법에 대한 설명이 있지만, 생략합니다.


====

사진매칭(Match Photo)에 대한 개인적 의견...


사진매칭은 아주 획기적인 방식입니다. 사진만 촬영해서 3D 모델링할 수 있다는게 생각보다 간단하지 않거든요. 그러다보니, 구글에서 스케치업을 탐내지 않았을까 싶습니다. 구글에서 2006년에 인수했다고 봅니다. 그 당시 마이크로소프트와 지도전쟁을 벌리고 있던 참이라, 직접 비행기까지 띄워 3D 모델링을 했던 마이크로소프트와 경쟁하기 위해서 클라우스 소싱(Cloud Sourcing) 방식으로 모델링하는 방법으로 스케치업을 인수해서 무료로 배포했을 겁니다.


그러나... 사진매칭은 한계가 많습니다. 정확하게 모델링 할 수 없다는 건 논외로 하더라도, 위에서 설명한 것처럼 괜찮은 각도에서 촬영할 수 있는 건물이 그다지 많지 않기 때문입니다. 특히 우리나라처럼 건물이 따닥따닥 붙어있는 경우엔 거의 불가능하다고 봐야겠죠. 그래서 중요한 건물들 좀 눈에 띄는 건물들 외에는 3D 모델이 올라오지 않게되고... 그러다보니 다시 2012년에 트림블에 매각했을 거라는....


한마디로, 겉으로 보기에는 매우 획기적인데, 실제 써먹으려고 보면 마뜩하지 않은... 계륵이라고 해야 할까요~~ 암튼요~


민, 푸른하늘

Posted by 푸른하늘 푸른하늘이

댓글을 달아 주세요