Roads with kerbs

Started by
2 comments, last by Digitalfragment 11 years, 9 months ago
Hi,
Apologies if this has been asked a lot, I did do a thorough search.

I'm starting to put to together a terrain for a game project, and a large proportion of it will be town/city environment with roads with kerbs.
I've played with the common heightmap techniques, which clearly dont allow vertical extrusion. I've also read about making the roads and pavements seperate meshes and blending them into the terrain, and i can see how that would work for country roads and dirt tracks, but i can't see how this would work well for an urban environment,
I though about heightmaps and then a preprocess for dynamically cutting the roads into the meshes, but that's a can of worms!

I work as a architectural 3D visualiser, and am more than used to 3dsmax. I guess I could forget using a heightmap in-game, and make everything in Max. Although this means hand making all of the LOD chunks, and I've not though of an easy way of doing that yet. Also, if you use a grid and then cut a road into it its no loger subdividable, unless you re-quad the affected areas.

What is the most sensible solution? or are there better ways?
How was Liberty City made?
Advertisement
A lot of games companies will use a mix of their own hand-written tools and external tools such as Maya/3DSMax.

As far as roads with kerbs go, its nothing hard just time consuming, it boolean-subtracts its x/z shape from the triangles supplied by the terrain-system, and reshapes its y values to follow what the terrain dictates along the edge of the subtracted region.

Don't build everything in Max as one massive mesh. Buildings should be made seperately, along with appropriate lodding models, then introduced into the world via locators so that your game can switch between LODs as needed (And so that you can re-use assets where possible)

With terrain, you can poly-mesh the entire thing and auto generate lods, if you want overhangs etc. Or you can look at voxel modelling the terrain, then generating your poly mesh from that (or even just rendering the voxel mesh if you choose)
Thanks for the reply.

As far as roads with kerbs go, its nothing hard just time consuming, it boolean-subtracts its x/z shape from the triangles supplied by the terrain-system, and reshapes its y values to follow what the terrain dictates along the edge of the subtracted region.[/quote]

so do you use the subtracted polys to form the road, move them down 100mm and extrude the edges up? or form a pre-made road to match the hole?
seems it would be hard to get a snug fit with a premade road since it would probably be lofted and not conform well enough to the grid.
Personally I've tried both procedural approaches and artist-built tiling models. Both work well, the artist built method ends up yielding better results but fitting the tiles properly is a bit of a pain.

In the tiled model approach, the models occupy a square, and are tessellated enough that they can be bent to fit a spline in a vertex shader, and have skirting geometry to fill in any cracks that may arise from T junctions, and also punch down under the ground enough to compensate for the change in topology. This does yield a bit of potential overdraw but by drawing the ground before the roads, early-z optimizations make this a non issue.

With the procedural approach, from the spline data I build a triangle strip following the path like a thick line renderer, then use a simple grammar to describe how far to extrude, how to shape the curbs, how wide to make footpaths etc. The same grammar is also used to populate the sidewalk with street lights etc too.

This topic is closed to new replies.

Advertisement