- Use Open Street Map and use unity to render
- Understand OSM map data structure
- Understand Unity data structure
- Code file reader/parser, and simple renderer for testing
- Code converter for Unity, and demo app
Words | Description |
---|---|
OSM | Open Street Map |
MVT | Mapbox Vector Tiles. spec |
PBF | Protocol Buffers. Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. spec |
- Vector tiles remixed Vector tiles creation from OSM and rendering.
- MapzenGo PockemonGo clone by Unity3d with OSM.
- PockemonGo clone How to make PockemonGo clone on Qiita.
- OSM Data Extracts | OSM data in regions via PBF
- Mapzen Mapping platform to display, search, and navigate.
- CARTO Platform for discovering and predicting the key insights underlying the location data.
- osmosis Command line Java application for processing OSM data. github
- TileMaker Command line tool to create vector tiles. github
- iD In-browser OSM editor.
- JOSM OSM editor for Java 8.
- QGIS Geographic Information System.
- OSM2World Converter that creates a 3D model of the world based on OSM. github.
- ActionStreetMap Framework for building real city environment using Unity3d and OSM. github.
- SimpleOsmRouter
- ActionStreetMapを使って自分の住んでいる街をUnityで再現する
- utymap new ActionStreetMap. C++ cross platform library, not only Unity3d.
- Visitor pattern
- Boost Qi Parser generator.
- multipolygon OSM Wiki Relation:multipolygon
- Relation Check
- canvasでドロネー三角形分割を描く
- OpenGL Tessellation Required to draw concave polygons or polygons with intersecting edges into convex polygons in OpenGL.
- Polygon Tessellation in JOGL
- C#6.0時代のUnity .NET 4.6 supported in Unity 2017. C# 6.0 available.
- Unity入門に最適なチュートリアルサイトまとめ・比較
- UnityのエディタとしてJetBrainsのRiderを使う
- Unity を使いはじめたばかりの頃の自分に伝えたい、Unity の基本 【2014年版】
- Painting with Code Introducing our new open source library React Sketch.app.
- React Nativeとネイティブアプリでの開発の違いとは
- 新しくなったFirebase Unity SDKが登場
'yeild' is used in coRoutine. It stops operation and resumes in next frame. Qiita
yeild return null; // Stops for 1 frame and resume.
yeild return new WaitForSeconds( num ); // Stops for num seconds and resume.
- XML format (or PBF in hosts)
- Many hosts offer compiled data. Assuming because the original data needs some processs like combining fragmented paths of an area, cascading attributes from different layers of data, and splitting data into smaller regions/area. The sample app directly uses the original data, but it should be pre-processed for performance.
- Three type of elemnts, Node, Way and Relation. Node is a point, Way is a combination of Nodes creating line, or area if circled, and Relation is to combine elements to build complicated buildings, lines, area, etc.
- An area can consists of multiple ways, thus need to combine them on drawing as OpenGL Polygon with filling color.
- An area can be self-intersecting polygon and/or concave polygon. Such polygon needs to be tessellated.
- Projection mode and ModelView mode
- Projection is set in Projection mode, such as window size, perspective or ortho.
- Modeling is set in ModelView mode, even camera rotation is done (same as whole world rotation).
- LoadIdenty() is to reset and is done at first in every frame (possible to keep using but easier to reset).
As of 28-Apr-2017, simple OSM file reader and renderer were made in Java with jogl on IntelliJ IDEA. Still a lot to do but here's the screen shot. First to fix some water area is not filled, and then support more tags, height.