GIS

QGIS: Qgis2threejs 플러그인에서 3D 객체 추가하기

유병혁 2023. 9. 11. 13:07

안녕하세요? 이번 글은 QGIS의 Qgis2threejs 플러그인에서 3D 모델 데이터를 추가하는 방법을 간략히 정리해 보겠습니다. "Qgis2threejs"는 WebGL 기술과 three.js JavaScript 라이브러리를 활용하여 3D 시각화를 제공하는 QGIS 플러그인입니다. 이 플러그인을 사용하면 DEM(수치표고모델) 및 벡터 데이터를 웹 브라우저에서 3D로 시각화할 수 있습니다.

이 플러그인은 간단단 절차로 다양한 종류의 3D 객체를 생성하고 웹 퍼블리싱을 위한 파일을 생성할 수 있습니다. 또한, 3D 모델을 3DCG 또는 3D 프린팅을 위한 gITF(Graphics Library Transmission Format) 형식으로 저장할 수도 있습니다. 이 글에서는 Qgis2threejs가 지원하는 3D 객체 포맷을 시각화하는 방법을 위주로 정리해 보겠습니다.

 

실습을 위해 다음과 같이 데이터를 준비해 보겠습니다. 임의 지역에 대해 수치지형도 건물 데이터, VworldHybrid 및 VworldSatellite 레이어, 12.5m급 ALOS PALSAR DEM, 그리고 3D 객체 위치를 지정하기 위한 3D_OBJECTS.gpkg 파일을 추가했습니다.

Qgis2threejs를 실행해 보겠습니다. Layers 패널에서 ALOS PALSAR DEM 레이어를 체크하는 간단한 조작으로 3D 모델이 생성됩니다.

건물 레이어에 고도값을 적용해 보겠습니다. 속성 창에서 다음과 같이 설정해 봅니다.

  • Type: Extruded
  • Mode: Relative to "ALOS PALSAR DEM" layer
  • Height: "층수" * 3 (실습으로 층수 필드에 임의로 3m를 곱한 값으로 설정합니다.)
  • Color: Random
  • Edge color: Random
  • Opacity: Expression > 70
  • Export attributes: Checked

이번에는 3D 객체를 추가해 보겠습니다. 저는 Sketchfab에서 제공하는 오픈 데이터(Disney Infinity 3.0 - AVG Hulkbuster)를 사용해 보겠습니다. 현재 Qgis2threejs 플러그인은 *.dae, *.gltf, *.glb를 지원하기 때문에 해당 포맷을 확인해서 내려받아 주시면 되겠습니다.

 

Disney Infinity 3.0 - AVG Hulkbuster - Download Free 3D model by JohnLogostini - Sketchfab

Hulkbuster from Disney Infinity 3.0 This model is intended to improve the Infinity wiki and look cool this model is not for commercial use Join the Discord Sever for more info Modtastic Modding Community Discord

sketchfab.com

이제 3D 객체 위치를 지정하기 위한 3D_OBJECTS.gpkg의 속성 창에 들어가서 다음과 같이 설정을 진행해 보겠습니다. Scale은 3D 객체의 크기를, Rotation은 방향을 지정할 수 있습니다.

  • Type: 3D Model
  • Mode: Relative to "ALOS PALSAR DEM" layer
  • Model file: disney_infinity_3.0_-_avg_hulkbuster.glb
  • Scale: 50
  • Rotation (z): 30

Qgis2threejs 플러그인은 3D 모델의 웹 퍼플리싱을 위한 웹페이지 저장 기능을 제공합니다. "File > Export to Web"을 클릭하신 후, Output directory를 지정해 주시면 해당 디렉터리에 소스코드가 자동 저장(Enable the viewer to run locally를 반드시 클릭)됩니다. index.html을 클릭하시면 해당 웹페이지가 실행됩니다.