Faster Road Creation

I’ve never found any of the road creation plugins on Roblox to be very useful in my use cases where they have their own preset roads or just don’t curve like I wanted. So I ended up playing around with Bezier Curves and made one myself. Now let me get this straight first this plugin isn’t meant to fully automate road building as it can only make 1 segment of road and not connect multiple segments together, but I do believe it will make the process a lot faster.

Anyways here’s the plugin and how to use it.


Step 1

First you’ll want to click the little plus button in the bottom right to add some nodes.

image


You’ll notice that each node is numbered. This is the order at which they’re handled in the Bezier Curve. You can use the studio move tool to move them around, you can delete them using studio’s delete tool or the minus button. When a node is removed the space will automatically be filled by the nodes higher in count lowering by one.

Step 2

Now that you have a path drawn out you can choose any road template of your making.


Click Select Template and hover your mouse over a road model. In order for a template to be valid the model must have a PrimaryPart and the PrimaryPart’s front face should be in the direction you want the road facing. The PrimaryPart will be highlighted green if you’ve done this correctly.

image

Step 3

After a template has been set you can switch the plugin to Render by clicking the Outline button. This will replace the white skeleton with your road.


It is recommended that you use Outline mode when dragging points around as this can cause severe lag while in Render mode.

Step 4

You’ll notice that in the picture above there were really sharp angles and gaps in the curve and not really ideal. You can fix this by editing the minimum length in the bottom right to any value you need.


You can also edit the Steps value which is how many points will be calculated in the Bezier curve each movement. Higher numbers will lead to more precise curves but make take more time to process.

Step 5

If you like the final product you can click Finish and it’ll remove the nodes.

Running Code on Road Segments

The New Module button will open a ModuleScript with a function that takes in a list of road segments in order from the first node to the last node. This allows you to run any code you want on the road segments.

Building On Air

Pressing G or toggling the grid will allow you to place nodes in the air. You can also adjust the height in the bottom right.

Other Usages

Train tracks


Multiple roads

Feel free to post suggestions and bug reports below.

Credit to the ResizeAlign plugin developers for making the alignment system
This plugin is still a WIP but it’s currently at a stable enough place where it’s easy to use

90 Likes

This is an awesome looking plugin - I can’t wait to try it out! I was just using one of the road creator plugins yesterday and was thinking about how out of date it felt. I wish I had waited a little to use this haha. Still awesome looking plugin, I’m definitely going to try this out in the future!

2 Likes

You couldn’t have posted this at a more perfect time. Thanks!

5 Likes

Oh my, as someone who makes road frequently, this really helped save me a lot of time!

1 Like

I’ve been looking for something like this, thankyou so much for making this, this will make my life so much easier.

1 Like

This really helped me.
Saved me a lot of time

1 Like

Great plugin! However, when I stop playing solo, it leaves behind a nasty looking error.

Alol

6 Likes

Amazing plugin, this is extremely useful and easy to use.

1 Like

Heads up, experiencing a fatal error on my end:

image

4 Likes

Bug fixes have been applied and a better sloping system has been added. If the start and end points differ in altitude beyond 0.5 studs it’ll take a direct path and curve based off the other points. A grid has been added to allow building in mid-air. A basic dragger has also been added to reduce the amount of times you need to switch studio tools.

3 Likes

What about Materials?
Edit: And colors as well

I have not used it yet so this might be stupid question

2 Likes

You can just edit materials with the studio tools.

1 Like

I tried your plugin, and I’m noticing a few issues and inconsistencies with how this operates. One problem I noticed right away is that the roadway it generated was not aligned with the generated segment, and was offset by about 90 degrees from where the nodes were placed.


I also noticed alignment issues with the generated roadway, with the segments between the first and second nodes getting offset with each segment off to the side, like so:
Between the second and third nodes, the reflectors were stretched seemingly across the whole length of the segments, resulting in this:

Between the third and fourth nodes, the reflectors were offset, and the parts for the lane markings were slightly stretched, resulting in unintended repetition of the line texture.
image

Another issue I noticed was that as I played with the curve, the roadway would jump around, like so:

I assume the reflectors and lines getting distorted is from the alignment system, so my suggestion is to have a check box button to disable the scaling and offsetting re-alignment system, making it only simply place the segments down without adjusting the individual parts. I am aware this results in gaps, which is why I just manually adjust and re-align the segments. Also, if possible to do in a stable matter, is to also have an option to disable the curve or incline only behavior, allowing both simultaneously when disabled. I usually disregard the bumps near the sides that results from inclined curves and attempt to smooth it out with extra parts.

Another thing I suggest is to have a system to group multiple nodes, so when you create a section of roadway, the nodes can be grouped together. This would allow for easier organization, creating, managing, and even connection of multiple sections of roadway. You could have a button to connect roadways and their seperate node groups by positioning the starting point of the second node group to the of the ending point of the first node group.

Now I may be too serious of a road builder, since I put lots of attention to accuracy and detail into my roadways, and you may have intended this for just simple roadways, but I thought I’d point these issues out. If you’d like to observe the behavior I have been experiencing for yourself, I have created a file for my road segment template for you to test with: FL Interstate, 3 lanes, one way.rbxm (8.5 KB)

That all being said, I see potential in this plugin, as it is more user-friendly and quick than the one I have created. I also like how it utilizes uniform segment spacing, something I have been struggling to implement for my own. Nice work.

3 Likes

Looks very nice and all current road plugins doesn’t provide the proper documentation/user experience to use it right, and this plugin has just everything and more you need.

1 Like

It seems the road to road development is complete!

This looks like an extremely quality plugin. I’m definitely installing. Thanks so much for making it!

2 Likes

I’m driven to use this plugin ( ͡° ͜ʖ ͡°)

4 Likes

Thanks for your suggestions I’ll be sure to add them later. As the for the white markers it wasn’t meant to handle parts that wouldn’t be resized yet as it assumes all parts need to be reized.

1 Like

My question is, does this work with as many parts as you want? And would it work with Meshes (that don’t get resized)? Other than that, this is a good plugin you made! It will surely help me build in the future when I’m finally starting to learn it.

When you make it to an acceptible first version, make sure to include multiple different texture maps for each road segment; that’d make it more varied.

Would you be able to add a setting that creates segments from the angle between them rather than the length? This would help with massively optimisation for those who don’t care about a fixed length.