Search Unity

[RELEASED] CityGen3D - Procedural Scene Generation From Real World Map Data

Discussion in 'Assets and Asset Store' started by CityGen3D, Jul 8, 2020.

  1. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    681
    Hi,

    CityGen3D uses SRTM heightmap data, which unfortunately doesn't have water depth information.

    It uses Unity Terrain objects, so if you have an alternative data source for water depth you could generate your terrains in CityGen3D and apply this data to the terrains separately.
     
  2. luniac

    luniac

    Joined:
    Jan 12, 2011
    Posts:
    614
    Hello,

    I have an interesting use case. I'm interested in recreating the city of Stalingrad as it existed in 1942 right before the Nazis invaded.
    I've been searching for different tools and approaches to implement what i need and i think CityGen3D may be the best.

    My thinking of going about this is the following, i can use CityGen3D + OpenStreetMap + whatever dataset you use for height? to create the initial terrain/water/heightmap topography stuff by simply using the present day Volgograd location.

    Then i can use this historical map of Stalingrad before invasion to lay out streets, buildings, all the manmade structures and layouts
    http://www.etomesto.com/map-volgograd_1942-stalingrad/
    or better yet this one for serious detail http://www.etomesto.com/map-volgograd_1942-aerofoto/

    My question is, is there a way to sort of use the 2D historical map to overlay over the generated terrain from Open streetmap so i can generate stuff faster?

    I understand if i have to manually specify the placement of everything, i guess my question is can i somehow "draw" on top of the generated terrain to specify all the placements based on the historical map?

    I personally figured since a historical map doesn't have height data obviously, then beginning with terrain generation using the real location as it exists today is a good start.

    Is there maybe a better way to go about this i'm not aware of?
    Thanks.

    EDIT:
    I looked into it a bit more, seems like before generating the 3D terrain we can make any changes we want to a 2D map.
    Is it possible to quickly delete large swaths of preset stuff? Or even avoid creating certain things in import of the map data?
    Like can i just have it create the terrain and heightmap and the rest is blank, and i can manually begin recreating the map based on the historical map that i have?

    Although i wonder if there is some way i can make it as easy as possible to precisely draw things based on the map.
    LIke maybe i can use the historical map as a satellite image and draw on top of it somehow to accurately recreate the roads and stuff?
    I'm not sure how to best approach this.
     
    Last edited: Mar 22, 2024
  3. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    681
    Hi,

    Thanks for your interest in the asset.

    I did something similar once and just imported my third-party 2D map image as a texture and assigned it to a material with some transparency.
    Then attached the material to a quad or plane mesh and positioned and scaled it appropriately in 2D Map View to line up with the active terrain area, allowing me to use this as a reference image when adding in my own 2D objects with the CityGen Map Editor.

    You'll want to assign this mesh to one of the CityGen "Map" layers (such as MapSurface) so it is visible in 2D Map view.
    Then just delete/hide the mesh when not actively in use to avoid CityGen from interpreting it as a real MapSurface when generating.

    As you suggested, it's also possible to skip the processing of certain objects such as buildings, or very easy to delete them after generation.
     
  4. luniac

    luniac

    Joined:
    Jan 12, 2011
    Posts:
    614
    Ok thank you.