I made a plugin called RoadTools (MIT licensed), which primarily includes an actor called Road, which essentially stretches a number of SplineMeshComponents across a single SplineComponent. I’m hoping someone will be able to help me improve the editing UI, as it’s somewhat clunky right now. I’ve packaged up the actor into a plugin and put it on Github.
See the official plugins documentation for comprehensive info. I’d suggest just putting a copy of the repository in your project’s Plugins directory (which you’ll need to create if it doesn’t exist), regenerating your project files, and hitting build.
Creating and Manipulating Road Actors
To create a Road actor, simply drag one in from the Class Browser or Modes panel. You will see a single spline with two points. To make it show a mesh, you’ll need to add a new Segment. In the details pane, under Road, hit the + button next to Segments to add a new Segment. Now you should see a mesh. Click one of the spline points, you should be able to move it around with the translate tool.
To add additional spline points, select one of the points, make sure you’re on the Translate tool, and alt-drag it out. You’ll need to create an additional segment to see a mesh covering that part.
Segments hold data for the meshes between each pair of spline points. You can edit the spline itself using the translate/rotate/scale tools, plus tweak each segment by changing the settings for each one.
Right now the basic functionality works pretty well. The main issue is that the level designer needs to maintain the Segments array manually, which isn’t that bad, but is mildly annoying. I’d welcome any pull requests for bugs, UI improvements, or even additional tools that would pair well with the Road actor.