• Advertisement
Sign in to follow this  

Drawing a city in 3D

This topic is 1085 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For a local history volunteering club I am looking to develop a walk-through version of the town in question through the ages. So I would like to offer the user a choice of centuries (1500, 1600, ..., 2000) and have him/her walk through the city, much like Google Street view, or even better, like Assassin's Creed in Florence and Paris. I am only looking at the part within the city walls. Maps are available going back till at least 1500. Switching between centuries means I would have to accommodate for changes in real estate, either in whole or in part, and perhaps even groups of houses. The street plan has not changed, apart from closing riverways.

As a start I would probably approach it as follows:

  • obtain the x,y,z coordinates of all houses, as a rough guess 5000; complexity can be reduced in that houses are typically joined, so that a specific (x,y) of one house is the same as that of its neighbour.
  • obtain photographs or drawings of each house as it would have looked like in each century and apply them as a skin to match the coordinates.
  • find a viewer that will allow a user to perform a walk through, say HTML5.

 

Just to be clear, there is no AI, no story, no characters. Something like this might well be described as "skinning a static maze".
How is such a process normally done? What tools would be used? What type of relevant experience would we have to ask for in case we put this out in the market?

Share this post


Link to post
Share on other sites
Advertisement

How much do you know about 3d modeling?  The bulk of this work will be modeling each individual houses, and putting textures on them.   5000 is quite a lot.  You could also go by creating a generic looking house that fits the architecture at that time, and apply that to all or majority of the houses, but it will not look very convincing.

Share this post


Link to post
Share on other sites

Thank you for your response. Have never done 3D modeling. By the way, we would already be very happy where the result is a set of facades, ie without having to model the houses individually. It is just that these facades should line up fairly accurately with the street plan.

Share this post


Link to post
Share on other sites

I would first try it with 5.000 reused meshes: just one model.

And then go from there, maybe create 10 unique ones and reuse them each 500 times.

Maybe shuffle around with textures.

 

Or get a team smile.png

Share this post


Link to post
Share on other sites


By the way, we would already be very happy where the result is a set of facades, ie without having to model the houses individually.
You should try to model one facade first. See how long it takes you to get it in a way you like it.... Then multiply that time by 5000.

Share this post


Link to post
Share on other sites

And then another multiple of that to cover the houses for every century.

It wouldn't be too hard to get someone to pull a couple hundred photos off the web, because about a third of the buildings are listed monuments and have a high-res version on the web.

The key however is to line them all up according to the city plan. What tools would be used for this?

Share this post


Link to post
Share on other sites

[ LINK ] Here is an older post that is asking almost the exact same question, and has a lot of great answers that are relevant here.

Edited by Code Fox

Share this post


Link to post
Share on other sites

A whole lot of the answer to this has to do with what "the town" means.  Are you authoring an actual town, or rendering a hypothetical town that appears period correct?

 

It's a whole lot easier to describe to a program how to author a town than it is to author a town.  Authoring a building by hand is easy, but the computer is better at doing things as stuff scales up.  Render bits and pieces, like period correct doors and windows, and walls, and what a road looked like in different periods, and maybe even how roads are laid out in different periods.  Describe to the machine how to snap all the little pieces together, and let it rip.

Share this post


Link to post
Share on other sites

well, that sounds like a major project for a medium sized team to me (10+ people IMO)... how many guys will be working on it? Do you have any expierience with it, or is everyone a beginner?

 

What is your timeline?

 

Depending on your response, it might be quite difficult even with a limited scope (simplified buildings, simple walktrhough options) due to the historical correctness requirements and the multiple centuries you want covered, but fairly achievable...

Or it might be totally impossible due to too small team size, missing skillset or time restrictions.

 

 

The tools you need, given you do not want to start at zero (and write your own engine) would be: a 3D Package (Blender (free), Maya (lt version is not too expensive), 3DS MAx, others) to create the building meshes, a game engine (Unity Free version, Unreal Engine 4 (both free)) to create your scene and run the walktrough.

 

Preferrably you have some helper tools to extract the geo data and create the rough scene for you... this is not my area of expertise, but AFAIK some tools like that exist for the Unity engine, grabbing data from Google Earth and creating terrain, or even city geometry for you. No idea how far this will get you, and no idea if anything is free.

 

MAYBE there is a tool for Architectural pre-viz that can be used instead of the game engine. This tool will be much less flexible, and I don't know if there are free ones, but maybe worth a look.

 

 

The skillset you ned includes:

- 3D Modelling skills: Creating meshes, creating textures, UV Unwrapping, how to optimize meshes for realtime rendering.

- Game Engine Editor usage: you need to know your way around the editor of your chosen game engine... hardly rocket science, but will take you some time to get over the first bump of the learning curve

- Programming: Yes, you will need some programming skills. At least if you go with the game engine, not much, as your requirements are pretty basic. Just enough to let the user conduct his walktrough, and create the needed menus to select the era (Time of day, whatever you else add in options).

Share this post


Link to post
Share on other sites

A whole lot of the answer to this has to do with what "the town" means.  Are you authoring an actual town, or rendering a hypothetical town that appears period correct?

 

It is an actual town with maps, photos, paintings, drawings, digitised documentation etc going back to Roman Times. This is very much an actual town. This also means that we have multiple maps of the city plan through the ages, accurate to the cm.

The first step is to get the facades in and other street features are for later.

Share this post


Link to post
Share on other sites

The tools you need, given you do not want to start at zero (and write your own engine) would be: a 3D Package (Blender (free), Maya (lt version is not too expensive), 3DS MAx, others) to create the building meshes, a game engine (Unity Free version, Unreal Engine 4 (both free)) to create your scene and run the walktrough.

 

Preferrably you have some helper tools to extract the geo data and create the rough scene for you... this is not my area of expertise, but AFAIK some tools like that exist for the Unity engine, grabbing data from Google Earth and creating terrain, or even city geometry for you. No idea how far this will get you, and no idea if anything is free.

 

MAYBE there is a tool for Architectural pre-viz that can be used instead of the game engine. This tool will be much less flexible, and I don't know if there are free ones, but maybe worth a look.

 

The skillset you ned includes:

- 3D Modelling skills: Creating meshes, creating textures, UV Unwrapping, how to optimize meshes for realtime rendering.

- Game Engine Editor usage: you need to know your way around the editor of your chosen game engine... hardly rocket science, but will take you some time to get over the first bump of the learning curve

- Programming: Yes, you will need some programming skills. At least if you go with the game engine, not much, as your requirements are pretty basic. Just enough to let the user conduct his walktrough, and create the needed menus to select the era (Time of day, whatever you else add in options).

 

I am not worried about the project management details at present, but just investigating the direction and approach of such an initiative.

It has been done before:

http://www.telegraph.co.uk/travel/destinations/europe/uk/london/10404898/3D-animation-see-London-as-it-looked-before-the-Great-Fire.html

and won an award.

Your other pointers are excellent, thank you.

Share this post


Link to post
Share on other sites

I am not worried about the project management details at present, but just investigating the direction and approach of such an initiative.

It has been done before:

http://www.telegraph.co.uk/travel/destinations/europe/uk/london/10404898/3D-animation-see-London-as-it-looked-before-the-Great-Fire.html

and won an award.

Your other pointers are excellent, thank you.

 

 

That actually does sound very similar to the project you have... I would try to get ahold of information about their project:

a) how long did the six guys work on it

b) what kind of skills did they bring to the project

c) what tools did they use (crytek is mentioned, so I guess they used the CryEngine... not that Unity or UE4 wouldn't be the better idea for somebody with no prior expierience with cryengine)

d) did they have any kind of help from the outside (seeing the big splash screens from crytek and others, maybe these companys where involved in the development process somehow, be it just providing the tools for free, or technical consultation)

 

Then keep in mind that you have to do the same work like these six guys did multiple times (well, depends on the size of your town vs how much of the historical london these guys reconstructed), so factor that into your calculation.

 

 

But really, look up more information on that project, maybe you can get in touch with some of these guys and ask some questions?

Share this post


Link to post
Share on other sites

On the original question, I imagine that you can use any of the major 3D engines available today and build a set of 3D models that you swap in and out. Unreal and Unity can both handle it.

 

If I was running the project on an unlimited budget, the pipeline would go something like this:

1. Build the models for each building, or connected buildings. Might build the exteriors of a city block as a unit, given your constraints.

2. Record the positions of the buildings in both space (x,y) and time (start - end).

3. Write a scene manager that swaps buildings in and out based on the current point in the timeline

 

If you don't need dynamic swapping and each century can be a separate scene it gets easier. In that case, you're basically building a static scene several times, which is just a modeling exercise, albeit a large one.

 

Be aware that if you're trying to do this for a large area with many unique buildings and details this can get quite labor-intensive and expensive. If you can reuse some assets (generic buildings for unimportant or less-attested sites) or are willing to accept less detail it can be manageable.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement