본문 바로가기

Multimedia/Global Earth

입체 지구본 (3D Globe) 샘플들

http://sh1r.tistory.com/m/post/list

 

실버라이트에서 돌아가는 입체적인 지구본(Globe)을 보고 싶은 마음에  이것저것 구글링을 해보기 시작 !!
생각해보니 실버라이트에서는 3D 구현이 제한적이므로, 
3D로 제대로 돌아가는 지구본은 WPF 예제로 더 많지 않을까 하는 생각도 들었다.

그래서 WPF로도 몇가지 찾아본 결과 괜찮은 여러 지구본 구현 사례(?)를 모아보게 되었음!!


I. 실버라이트에서의 입체 지구본 (3D Globe) 샘플들


- 가장 간단한 예제 : 3D Spinning Globe

이 샘플은 실버라이트 입장에서 조금은 굴욕적인(?) 경우ㅋ
Shinedraw.com 에서 같은 예제로 플래쉬와 비교를 했는데, 더 느리고 폴리곤 수도 적음 ㄷㄷ

출처 : http://www.shinedraw.com/3d-illusion/silverlight-vs-flash-3d-spin-rotate-globe/
소스 다운로드 : http://www.shinedraw.com/?dl_id=133




- MapControl 소스까지 제공해준 : SilverGlobeSample

아래의 샘플은 MIX'08 행사 관련하여 소개 되었던 예제인데,
줌은 불가능하지만, 깔끔하게 구현해 놓은 지구본이다.
세계지도도 간단하게 되어 있다보니, 일본 열도는 아예 생략되어 있음 (일본 침몰?ㅋㅋ) 

사이트 주소 : http://xaml-kru.com/silverglobe/
Map Control 프로젝트 파일 다운로드 : http://www.xaml-kru.com/downloads/silverglobe.zip

소스 파일에서 좌표를 아는 곳의 위치에 점을 찍고, 정보를 남길 수 있다.



- MS 버추얼 어스를 사용하며 줌이 가능한 : 3D Earth Viewer (Silverlight)



위의 그림은 스크린샷이며, 샘플 실제 체험은 : http://dev.from.tv/silverlight/earth3d/ 에서 가능.
아쉽게도 소스 파일은 공개되어 있지 않다.
MS의 버추얼어스 위성사진을 입혀서 퀄리티가 높은편.
맵 아래의 슬라이더로 줌 크기 조절이 가능하다. 실제 맵과 같은 깊은 줌까지는 안됨
실버라이트에서 바로 점을 찍고 정보를 남길 수 있다.


II. WPF에서의 입체 지구본 (3D Globe) 샘플들


- 카메라 시점까지 변화하는 : 3D Earth Viewer (WPF)



이것 또한 스크린샷임; 샘플 체험은 : http://dev.from.tv/wpf/earth3d/
실버라이트에 있던 샘플을 WPF에서 좀 더 발전 시킨 형태인데,
카메라 시점의 변화가 드라마틱한 것이 특징.
샘플로 보여주는 것에서는 자유롭게 지구본을 구경할 수 없는 것이 조금은 아쉬웠음
이것 또한, 소스는 비공개 ㅜㅡ




- 가장 간단한 WPF Globe 예제 : 말그대로 구(globe) 위에 세계 지도를 입혀서 만든 것



사이트 : http://blogs.msdn.com/llobo/archive/2006/12/01/mapping-mouseclick-on-3dmodel-to-a-2d-texture-coordinate.aspx
소스 다운로드 : http://blogs.msdn.com/llobo/attachment/1071096.ashx

WPF에서 3차원 구를 하나 만들고, 구 위에 세계지도를 입힌 형태이다.
소스에서는 마우스 우클릭으로 찍은 지점이 대륙 이름까지 툴팁으로 볼 수 있고, 지구본이 자동으로 돌아감
하지만 지구본을 실제 컨트롤하기 위해서는 추가적인 코딩이 필요함.





-  ArcGIS Engine을 이용한 WPF Globe Viewer



사이트 : http://resources.esri.com/arcgisengine/dotnet/index.cfm?fa=codegallerydetails&scriptid=15968

웹에서 쉽게 찾을 수 있는 WPF 예제 중에서는 가장 멋진 지구본이라고 할 수 있다.
소스도 다운로드 할 수 있긴 하지만, 소스를 구동하려면 ArcGIS Engine Developer Kit 9.3 이 있어야 한다.
아무래도 상용 GIS 엔진인듯 ㄷㄷ


소개 동영상  (출처 : http://downloads2.esri.com/EDN/mediaroom/tryitnow/wpfglobeviewer.wmv )






지구본을 찾아본 이유는 , 예전에 X-COM 이라는 게임을 했을 때의 추억이 떠올라서 그랬음.
X-COM은 지구 곳곳에 출몰하는 외계인과 UFO를 추적하고 싸우면서 인류를 구한다는 내용의 SF게임이었는데,
3D 지구본을 맵으로 쓰는 것이 인상적이었음 ㅋ



XNA든, WPF나 실버라이트든  X-COM과 비슷한 오마쥬게임을 만들어 보고픈것이 나의 소망이기에
지구본부터 어찌 구현해볼 수 있을까, 다른 사람들은 어떻게 만들어 놓았을까 하고 찾아본 것.

그런데, 놀라운 사실은 이미 나와 같은 생각을 갖고,
MS XNA Studio를 이용하여 X-COM을 개발하고 있는 사람들이 있었음;;
그것은 바로 아래 스샷과 같은 게임 ㄷㄷㄷ



이름하야, 프로젝트 제노사이드
사이트 : http://www.projectxenocide.com
물론 게임소스 다운로드도 가능함
(게임 설치 및 소스 실행에는 Microsoft XNA Game Studio 1.0 Refresh 이 필요함)




또한 기존의 구글맵이나 VE의 2D적인 평면뿐만 아니라,
단순하긴 하지만 전세계 전체를 아우르는 3D 지구본을 만들어서,
맵 탐색이나 간단한 정보 표시에 이용하면 잼있을 것 같다는 것이 오늘의 결론!!