Questions about making a city

I’m trying to do something a bit more tricky for a Cycles scene. In essence, I wish to create a full scale detailed city… using curves for roads and particles for buildings. While some things were easy to do, other plans are a bit of a challenge.

What works so far: I can model a section of road, use an array modifier to loop it to the length of a curve, deform it to match the curve, then use a shrinkwarp modifier to align it to the terrain. I also created a subdivided plane, gave it a group particle system for buildings, and also use a shrinkwarp modifier to align it to the terrain. The problems I face now are:

  • What is the easiest way to create road divisions and intersections, without having to apply the curve modifier? I can create individual segments on a curve, but the road mesh is only stretched across one segment.
  • I need to have separate segment models for intersections. I imagine I will have to place those manually? Or is there a way to automatically detect when a curve self-intersects, and use a different segment object there?
  • Buildings are placed as particles by a virtual plane. I’ve set it up to spawn a building per vertex, which normally looks pretty okay. I am however unsure if there’s a more ideal way to distribute particle buildings across a surface! One that gives out a better pattern, and most of all doesn’t cause buildings to intersect one another.

I would suggest looking at blender guru’s video on making a city.

just maybe…
take a plane subdivide it a lot, maybe use sculpt for light swirl effect, (minor street bendings) use face select for weight paint, and for material assignment.
create material road, and pedestrian tiles, assign them to those faces.
use the weight paint for the building emiter.

if you like to you could use another material as for road marks and lowering the road by bump map.

There were a couple of tutorials that I saw, one was recently on and used OpenStreetMap to create the city:

The other seems to do what you are doing, using a particle system to create the city:

1 & 2) I have some textures with road markings and various road sections already designed for this sort of thing…

Your intersections are the points that you need to determine before you lay out your roads. It will be a lot harder trying to fit intersections into roadways you’ve already designed than to do it the other way around.

You can’t add other objects (intersections) into arrays (of road sections)… you can only join them to the ends of the array after you’ve applied the array modifier to the road sections, so again, you have to determine where you want your intersections before you add your roads.

  1. I recently watched a pretty good tutorial on building a city using particles. It might give you some ideas…

Thanks for the help! I realize that intersection models can likely not be placed procedurally… so I’ll just have to put them at the start or end points of curves, and have unconnected curve points meet at the right positions for segments to line up.

Those tutorials will hopefully be of use with the particle system. Main problem with that is, particles aren’t aware of the radius of objects being duplicated, so it needs to be tweaked carefully to avoid intersecting buildings. I do wish there was somewhat better control over that.