라이노로 콘타 만드는 방법!
INTRO
요즘 들어 라이노로 건축하는 사람이 많아졌습니다. 라이노는 NURBS 기반으로 운영되기에 곡선이 많이 들어간 콘타의 디자인도 보다 정교하게 뽑을 수 있습니다. 이번 아티클에서는 이런 라이노 프로그램을 가지고 대지의 콘타를 만드는 방법에 대하여 소개하겠습니다.
1. 자료 불러오기

국토정보플랫폼에 들어가서 항공사진/지도받기에 들어갑니다. 그러면 공간정보받기 란이 나오며 지도가 펼쳐지는데 여기서 원하는 지역을 찾아서 지역을 잡아놓을 뒤 수치지도를 찾습니다. 우선 실습에 앞서 인사동 대지를 검색한 뒤 기존에도 있는 인덱스에서 1:5000 축척에 DXF(수치지형도)로 다운받아보겠습니다.

다운 받은 뒤에 라이노를 켜줍니다. 라이노에서 다운받은 DXF파일을 삽입해주고 단위는 밀리미터로 진행하겠습니다. 삽입하였을 때 객체가 보이지 않는다면 ZS를 실행하여 선택한 객체를 줌시켜 작업을 시작하겠습니다.

이 도면을 Perspective 뷰로 돌리면 등고선들만 Z값을 가지고 올라가 있는 것을 볼 수 있습니다.

이 올라가있는 등고선들만을 잡고 그래스호퍼로 가져가 대지를 만들어보겠습니다. 그래스호퍼를 먼저 실행합니다 [명령어창: grasshopper]
이 커브들을 그래스호퍼에서 Curve 컴포넌트에 지정하겠습니다.

지정을 한 뒤 아웃풋 컴포넌트를 divide length 컴포넌트를 생성한 뒤 인풋과 연결합니다. 그리고 Length 인풋은 적절히 3000을 입력하여 등고선들을 3000mm(3m) 간격으로 분할해줍니다. 그 뒤에 divide length 아웃풋을 delaunay mesh를 생성하고 인풋과 연결합니다. 연결하면 적용되지 못하며 컴포넌트가 빨간색으로 바뀝니다. 이유는 데이터들이 눌린 상태에서 매칭이 되어야 면이 만들어지기 때문입니다. 따라서 delaunay mesh 인풋에 flatten을 줘서 데이터를 누를 상태로 연결시킵니다. 그리고 divide length를 hide 시켜 매쉬가 어떻게 만들어졌는지 확인합니다.

그러면 이렇게 등고선에 맞게 메쉬가 만들어진 것을 확인할 수 있습니다.

하지만 이렇게 꼭지점 부분이 데이터가 없어서 제대로 끝맺음되지 못한 걸 볼 수 있습니다. 이걸 해결하기 위해 모든 꼭지점에 point 들을 찍어줍니다. 그리고 꼭지점에서 최근거리에 있는 등고선의 z축과 맞추어 SetPT의 Z축으로 맞추어 Z높이를 동일하게 맞춥니다. 그리고 이 네 개의 point를 그래스호퍼에서 point 컴포넌트에 지정하여 flatten 된 delaunay mesh 인풋에 같이 넣어줍니다.

그러면 위와 같이 딱 맞게 콘타가 맞춰집니다. 그러고나서 이 메쉬를 라이노로 bake 해보겠습니다. 그러면 delaunay mesh로 만들어진 메쉬가 라이노로 생성이 됩니다. 하지만 우리가 라이노에서 다루고자 하는 형태는 서피스입니다. 그렇기 떄문에 이 메시를 서피스로 바꿔보겠습니다.

Patch와 Drape 등의 방법들 중에서 Drape를 사용하겠습니다. drape를 실행하기 전에 우선 top뷰로 바꾸어 수평상태를 유지합니다. 그 상태에서 drape를 실행하고 콘타의 아웃라인에서 조금 더 넓은 크기로 해서 영역을 그래그합니다. 그러면 이전 메쉬를 천으로 감싼 것과도 같은 형태로 서피스가 생성되게 됩니다.

이번엔 길을 내보겠습니다. 길은 서피스로 묶어내고 만들어놓은 터레인을 Split 하면 됩니다. 닫힌 커브로 Split을 해야지 자르고자 하는 서피스가 그것에 맞게끔 잘리게 됩니다. Split은 사용하고 있는 뷰포트를 기준으로 수직으로 잘리게 됩니다.

그러고 나서 건물들에 대한 정보를 올려보겠습니다. 건물들에 대한 정보는 층에 대한 값을 QGIS에서 가져와야 됩니다. B에 관련된 항목들을 삽입하여 층을 나누어 레이어를 분리한 뒤에 라이노로 가져옵니다. 그러고서 높이로 나눠진 항목들을 그래스호퍼로 가져갑니다. 커브들을 레이어에 나누어 배치하고 boundary surfaces로 모든 커브들에게 서피스를 줍니다. 그리고 중심점을 맞추기 위해서 area로 잡아주고 terrain에 점을 쏴줍니다. 이걸 위하여 project point를 연결해준 뒤에 vector를 쏴줍니다.
그리고 그 뒤엔 해당 커브들에게 extrude로 높이값을 나눠주며 건물을 올려냅니다.

이런 식으로 틀을 유지하며 extrude 뒤에 cap으로 묶고 bake 하여 라이노 상을 내보냅니다.

그러면 이런 식으로 건물들까지 올라간 것을 확인할 수 있습니다. 여기서 추가로 수생들의 정보들까지 가져와서 도로 가져왔던 것과도 같이 가져와서 서피스 만들고 잘라내고 밑으로 밀어내면 됩니다.
이러한 과정으로 콘타를 만들어냅니다. 근데 라이노는 어느 정도의 노가다가 필요하지만 그래스호퍼로 만들어내면 알고리즘만 틀을 잡아놓으면 뚝딱 바로 만들어낼 수 있습니다.
OUTRO
어떻게 보면 기본이면서도 생각보다 만드는 데에 많은 지식이 필요한 콘타 대지 만드는 방법에 대해 알아봤습니다. 처음에 가져오는 수치지형도의 정보값이 어떻게 분류되어 있는지도 정말 중요하다고 생각합니다. QGIS에서도 건물들의 층이나 등고선에 z값이 부여되어 있는 여부가 3D 모델링까지 만들어내는 데에 있어서 큰 역할을 합니다. 또한 그래스호퍼까지 어느정도 컴포넌트로 활용할 줄 알면 보다 정확한 수치의 콘타를 뽑아낼 수 있습니다. 아무래도 콘타는 배경이라 건축의 메인을 담당하진 않지만 배경도 깔끔해야 전경도 더욱 잘 나타난다고 생각하기에 처음에 제작할 때 잘 만들어놓으면 좋을 거 같습니다.

