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.
I have also made myself a spline based road tool using blueprints which works really well! The tutorial I found was THIS ONE by Dokipen, and I modified it from there to add more functionality. I will download yours as well though and give it a try! Thanks for making this
Just so you know, I added a feature request today regarding allowing BP based splines to be used as landscape splines, see here for more details:
That tutorial helped me a lot, actually. The main thing I did that wasn’t in that tutorial was solving the tangent scale problem - the tangents of the subdivision pieces are generated correctly without the user needing to do anything.
I just finished Dokipen’s tutorial and am going to try your plug in out but as I was finishing the tutorial I couldn’t help but wonder if it is possible to make the spline procedurally create itself in game so you could have a never ending road, tunnel, and it will randomly generate your new tangent with your road mesh. I’m certain this is possible but I’ve only been in blueprints for a month now and so I kind of need a push in the right direction