Edit 08/Jul/20: The early access Beta has now finished. Thanks to everyone that supported CityGen3D in the last 18 months or so. CityGen3D is now available to purchase from the Unity Asset Store!
There is a new forum thread in the Assets forum here .
Hi,
Creating a 3D city environment complete with terrain, roads, street lighting, railways, buildings, trees and other prefabs can be a very time consuming process.
It usually involves learning several different tools and getting them to work in sync with each other, then manually creating and placing many game objects.
Even before the creation of the scene, a lot of planning is required to design a believable city, which if you simply want to prototype an idea very quickly can be a big hurdle to overcome, especially when working on your own or in a small team.
So I’ve been experimenting with how to automatically convert 2D map data into a 3D scene in Unity, with a view to improving the workflow and allow creation of city environments with relatively little effort.
Rendering 3D maps is nothing new, but other approaches are usually not detailed enough to be suitable for game development.
A key goal of this project is to be able to create cities detailed enough to be explorable at ground level and therefore useable in first-person games.
CityGen3D is a work-in-progress Unity Editor extension and requires no additional coding. Simply specify a location using latitude & longitude and real world map data will be downloaded and parsed by CityGen3D within Unity ready for scene generation.
You can then use the CityGen3D interface to choose your textures and prefabs, before CityGen3D generates your scene using a combination of procedural geometry, texturing, terrain deformation, and prefab spawning.
Perhaps the best way of explaining what CityGen3D actually does is to show some screenshots and to say that nothing you see was manually placed in the scene.
All the terrain, roads, buildings and trees were created or spawned using real world map data and rule sets.
Please note that some of the art assets shown are third-party and used just to demonstrate the system. These include lovely trees by SpeedTree and fantastic buildings by rik4000.
Over the coming weeks and months I’ll be releasing more information on this thread (and via www.citygen3d.com and @CityGen3D) on how CityGen3D works and what it can do, but here are a few of the notable features:
- Downloads and parses 2D map data from OpenStreetMap, ready for conversion into a 3D scene using user definable rules from within the Unity Editor.
- Generates and textures Unity terrains to create the base of the environment.
- Adds trees and detail to the environment automatically based on surface data.
- Procedurally generates geometry for creation of roads. The unique way in which the scene is created means that complex junctions and intersections are created automatically.
- Spawns road-side objects, such as street lighting and safety barriers.
- Automatically spawns prefab buildings in realistic locations.
Please let me know if you have any questions, and I look forward to sharing more progress with you.