Here’s a quick guide on how to create smoothly curving roads using displacements. In my experience, this method is much faster and easier than working with traditional brush-based roads. Additionally, it reduces the number of texture seams and it’s a bit cheaper to render (probably?).
- Build the brushes that will make up your road, and rotate them around to create curves and bends. I recommend grouping them together, but it’s not required.
- Use the vertex manipulation tool to make sure that the brushes connect to each other neatly. Make sure that the width of the brush stays roughly the same. (At the same time, try to keep the grid size as large as possible, as this makes things easier to edit later on.)
- Use the texture application tool to select the top faces and turn them into displacements. I find that power 2 is usually sufficient, but feel free to go higher if you need to.
- Duplicate the displacements and enter vertex manipulation mode again. Move each pair of end points to one side of the road as shown below.
- Duplicate the original set of displacements again, then repeat the process for the other side of the road.
- Select all the displacements, open the texture application tool and click the Subdivide button under the Displacement tab. Depending on your CPU speed and the amount of displacements you’ve selected, this process may take a couple of seconds.
And you’re done! You’re free to delete the outer sets of displacements if you don’t need them, but I prefer to hide them away in a VisGroup in case I ever need to redo the road. Of course, you can also keep the surrounding displacements. You can now freely edit their shape using the vertex manipulation tool. As long as you don’t move the vertices that connect them to the road, the displacements will remain seamless.
- Try to make sure that each brush has roughly the same length as the brushes it’s connected to. Otherwise, subdividing the displacements will cause the vertices of the shorter displacement to be pulled towards the longer displacement, resulting in some ugly texture stretching.
- You’re not limited to 45 degree increments between brushes; you can use any angle. Even 90 degrees is possible, although it won’t look as good due to stretching.
- There will still be some visible texture seams where rotated brushes meet. Thankfully, it’s not too noticeable with most textures.
- When the width of two connected brushes differs too much, the horizontal scaling on the texture may appear a bit off. Either fiddle with the texture scale settings, or reshape the rotated brush so that its width is closer to that of the original shape.
- Unfortunately, very sharp bends aren’t possible with this method, as the inner set of displacements would need to be manipulated into invalid shapes.
Go hog wild!
Imgur link for easier sharing: http://imgur.com/a/FDFNk