using game engines for 3d geospatial development
TRANSCRIPT
![Page 1: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/1.jpg)
FOSS4G 2021
Using game engines for3D geospatial development
Pirmin Kalberer@implgeoSourcepole, Zurichwww.sourcepole.com
![Page 2: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/2.jpg)
3D GIS - «State of the Art»
![Page 3: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/3.jpg)
3D Games - «State of the Art»
![Page 4: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/4.jpg)
Game Engines – Top 3
> Unreal Engine> Epic Games> Free to use (5% royalty after $1 mio. revenue)
> Unity> Unity Technologies> Free for personal use. Plans from $400/year.
> Godot> Open Source> Software Freedom Conservancy> Community, ~ 10 funded developers
![Page 6: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/6.jpg)
Godot features 1/2
> UI graphical and text based editors> Linux, macOS, Windows and BSD> 30MB binary size
> Nodes & scenes
> 2D + 3D rendering
> Animations system
> Programmable> GDScript (similar to Python)> GDNative: C#, C++, ...> Visual scripting
![Page 7: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/7.jpg)
Godot features 2/2
> Logging, debugging, profiling
> XR support> Augmented and virtual reality> OpenVR, OpenXR, Oculus SDKs, ARKit, ...
> Export to several platforms> Linux, Mac + Windows> Android + iPhone> Web (WASM)
![Page 8: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/8.jpg)
Godot demo
![Page 9: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/9.jpg)
Geodata in game engines
> Raster data Sprites, Textures→> Vector data Meshes (OBJ, glTF, …)→> Point clouds Meshes, 3D Tiles→> Styling Material (Textures, parametrized)→> Container (Scenes): glTF, ...
![Page 10: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/10.jpg)
OGC (Community) Standards
> CityGML / CityJSON> CityGML 2.0 / CityJSON 1.0> OGC Standard
> Indexed 3d Scene Layer (I3S)> ESRI> OGC Community Standard
> 3D Tiles> Cesium> OGC Community Standard
![Page 11: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/11.jpg)
Scene format glTF 2.0
> Khronos group (OpenGL, etc.)
![Page 13: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/13.jpg)
Godot vs. Blender
> Blender> Scene creation, Sculpting> High quality rendering> Animations> Final product: Image or video animation
> Godot> Programmable interactive→> VR + AR applications> Runtime for multiple platforms (desktop/mobile/web)> Final product: Interactive application
![Page 14: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/14.jpg)
Activities
> ESRI> ArcGIS Maps SDK for Unity> ArcGIS Maps SDK for Unreal Engine
> Cesium GS> Cesium for Unreal
> OGC> Revison of I3S Community Standard> RfC CityGML 3.0> Interoperable Simulation and Gaming Sprint
![Page 15: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/15.jpg)
Geodata in Godot
> DEM.Net Elevation API> Web application + standalone> Terrain + OSM scene export> Free for personal / small business use> https://elevationapi.com/
> HeightMap Terrain Plugin> Optimized meshes from terrain data> Shaders for surfaces (grass, rock, ...)> gdal_translate -of ENVI -ot UInt16 srtm.tif srtm.raw
> https://github.com/Zylann/godot_heightmap_plugin
![Page 16: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/16.jpg)
Godot plugins: Geodot / LandscapeLab
> https://github.com/boku-ilen/geodot-plugin
![Page 17: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/17.jpg)
Godot plugins: Geodot / LandscapeLab
> https://landscapelab.boku.ac.at/
![Page 18: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/18.jpg)
Ideas
> Godot> More formats:
> FlatGeobuf, (COG)Geotiff, GPKG, PostGIS
> 3D tile support> CAD / BIM formats
> CityGML converter
> OSM data preparation pipeline
> Procedural city modelling
> Platform for models/textures (vegetation, traffic, etc.)
![Page 19: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/19.jpg)
Applications
> Landscape planning
> City planning
> Transport planning
> Indoor-/outdoor navigation with AR
> Historical data
> GIS with VR user interactions
> Measuring, shadow-, visibility analysis (AR, VR)
> GPU based GIS calculations
![Page 20: Using game engines for 3D geospatial development](https://reader036.vdocuments.us/reader036/viewer/2022070723/62c515a1e122e935a211a5fd/html5/thumbnails/20.jpg)
FOSS4G 2021
Thank you!
Pirmin Kalberer@implgeo