Support Topics | ||||
|
||||
애리조나 주립대의 고바야시입니다. 여기에서는 포럼에이트로부터 공개되고 있는 City Design라고 하는 툴을 소개하겠습니다. 포럼에이트의 VR패키지인 UC-win/Road와 그 외의 3D・CG패키지 사이에서 심레스하게 도시 데이터를 생성・변환하기 위한 툴군의 개발을 목표로 하고 있습니다. 여기에서 소개하는 툴은 소스 코드도 공개하고 있지만, 현재는 특정의 서포트가 이루어지지 않기 때문에 버그 등의 문제가 있어도 책임을 질 수 없습니다. 미리 양해 부탁드립니다. 또 이번 기사를 보신 건축・토목 관계자분들 중에서 귀사의 시스템에 적합한 간이툴이 필요하신 분들은 꼭 연락주시기 바랍니다. |
지형 생성과 위성・항공사진 합성이 VR의 첫걸음 |
솔루션 |
여기 에서는 DEM데이터와 항공사진의 입수방법, 그 편집방법, 그리고 개발한 툴을 이용하여 UC-win/Road에서 20km사방의 항공사진 첨부 지형 데이터의 작성방법을 소개합니다. 여기에서 소개하는 솔루션은 전세계 어디에 있어도 가능합니다. 스텝1: DEM은 위에서 설명한 것처럼 ASTER GDEM의 사이트로부터 입수할 수 있습니다 (http://www.gdem.aster.ersdac.or.jp/search.jsp). 그 사이트에서는 위도 경도 1도씩 범위의 표고 데이터가 3600x3600화소의 화상 데이터(TIF)로써 제공되고 있습니다. 스텝2: 다음에 VR모델 작성의 중심위치의 위도・경도를 준비합니다. 이것은 Google Earth로 지정하면 좌측 하단의 메뉴에 선택된 지점의 위도 경도가 표시되기 때문에 이것을 이용합니다. 스텝3: 여 기서 문제가 되는 것은 20km사방의 항공사진을 획득하기 위해서는 먼저 중심위치로부터 10km북, 10km남, 10km서, 10km동쪽 지점의 위도 경도가 필요합니다. 또 그 지점에 대응하는 DEM데이터의 위치도 필요합니다. 이것들을 계산해 주는 툴을 Excel파일로써 개발했습니다.http://world16.forum8az.com/2010/07/vr-tutorialsterrain-generation-for-uc_23.html의 사이트로부터 툴군과 튜토리얼 비디오를 다운로드 할 수 있습니다. 스텝4: 다운로드된 파일중에서 terrain calculator (blank).xlsx파일을 엽니다. 1)ASTER사이트로부터 다운로드 한 GDEM파일(때로는 복수가 됨)의 우측 상단과 좌측 하단의 위도 경도를 입력합니다. 아래 그림의 경우에서는 좌측 상단은 북위37도 서경116도, 우측 하단이 북위36도 서경115도입니다. 2)앞에서 설명한 것처럼 위도 경도에 의해 1도의 길이가 다릅니다. Google Earth에서 VR도시 모델의 중심 위치당의 1도의 위도방향, 경도방향의 길이를 조사합니다. 아래 그림의 경우에서는 위도방향1도의 길이가 110848.74미터, 경도방향1도의 길이가 89867.06미터입니다. 3)과 4)에 스텝2 중심의 위도 경도(북위36도10분17.71초, 서경115도9분0.22초)를 입력합니다.
스텝5: 입력후, GDEM파일의 크로핑 위치가 표시되기 때문에 Photoshop등의 화상 편집 소프트로 화상을 잘라내기 합니다. 이번 예에서는 (x,y)=(2660,2658)의 위치로부터 가로801픽셀, 세로650픽셀로 잘라내기 합니다. 이 툴을 이용할 때는 위도(Latitude)는 화상에서 Y방향, 경도(Longitude)는 화상에서 X방향이라는 점을 주의하여 주십시오.
스텝6: 다 음으로 항공사진의 입수입니다. 항공사진에 대해서는 Google Earth의 Pro버전을 이용함으로써 전세계의 항공사진을 입수할 수 있습니다. 이쪽도 VR도시 모델을 중심으로 한 20km사방의 화상을 획득하기 위해서 위도 경도의 위치가 필요합니다. 같은 툴상에서 이러한 정보가 계산되고 있습니다. 이번의 경우는 북위36도11분22.681초―서경115도10부20.361초(자측 상단)와 북위36도9분12.739초―서경115도7분40.079초(우측 하단)로 하는 항공사진을 Google Earth Pro의 툴로 획득했습니다.
스텝7: DEM데이터는 그 자체로는 UC-win/Road로 임포트 할 수 없기 때문에 XML형식의 데이터로 변환하는 XML Terrain Maker라고 하는 툴을 개발했습니다. 스텝3에서 다운로드 한 파일내에 있는 "TerrainMaker.jar"라고 하는 파일을 더블 클릭하면 이하의 GUI가 팝업되기 때문에 스텝5에서 클릭한 DEM파일(TIF형식)을 1로, 저장하고 싶은 XML파일명을 2로, 3과 4의 슬롯에 스텝4에서 이용한 1도당의 위도 경도의 길이를 입력합니다. "START"버튼을 선택하면 20km사방의 XML데이터가 작성됩니다.(10분 정도 걸립니다)
스텝8: UC-win/Road를 기동시켜 File에서 Load Terrain Patch를 선택하고 스텝7에서 생성된 XML파일을 지정하면, 지형 데이터가 UC-win/Road상에서 작성됩니다. 작성된 데이터에 File・Road Street Maps에서 스텝6에서 획득한 20km사방의 화상을 붙이기 하면, 항공사진 첨부 지형 데이터가 완성됩니다. 아래 그림은 여기서 소개한 솔루션으로 작성한 UC-win/Road의 데이터입니다. |
마지막으로 |
이번 에는 스텝의 설명이 길게 되었지만, 이 파이프라인을 사용함으로써 지금까지 1일 이상 걸렸던 작업이 15분~30분으로 작성 할 수 있게 되었습니다. 종이면인 경우는 사정상 여기에서는 소개할 수 없었지만, DEM과 항공사진으로부터 다른 3D소프트에서도 이용할 수 있는 항공사진 첨부 지형 데이터를 작성할 수 있는 3ds Max플러그인도 개발했습니다. 흥미가 있으신 분은 연락하여 주십시오. |
|
||||
대향차선에는 선을 넘어 주행 |
예를 들면 좁은 골목이나 산길 등을 주행중, 주정차나 무엇인가의 장애물을 피하고 싶을 때, 타차선에는 선을 넘게 됩니다. 이와 같은 운전을 UC-win/Road의 매뉴얼 드라이브로 하기 위해서는 도로의 작성에 약간의 공부가 필요합니다.
|
도로 단면의 차도폭을 확폭 |
통상 UC-win/Road에서 작성한 도로를 주행하면, 대향차선으로 선을 넘어가 정상적인 주행을 계속할 수 없습니다. 바로 주행 경로가 수정되어 원래의 차선으로 되돌려집니다. 거기서 도로 단면에서 차도폭을 넓힙니다. 갓길에서 대향차선의 단부까지 주행이 상정되는 폭에 대해서 대향차선과 중첩하여 설정합니다. 그림4는 통상의 심플한 도로 단면입니다. 이것을 그림5에서 나타내듯이 차도폭을 넓혀 대향차선과 중첩되도록 설정합니다. 차도와 차도의 사이에는 더미가 되는 노드를 삽입합니다. 그리고 각 차도는 차선의 수를 2로 하여 편도2차선으로 합니다. 이것에 의해 평상시의 주행은 차선1을, 선을 넘을 때는 차선2를 주행하게 되며 스무즈한 차선 변경의 움직임이 됩니다. 또한 텍스처가 중첩됨으로써 깜빡거림 가능성을 막기 위해서 아래쪽이 되는 차도와 더미 노드의 텍스처는 검정색으로 하고 검정색을 투과시켜 투명하게 해둡니다.
|
(Up&Coming '11 신록호 게재) |
|