Road Builder Lets you create non-linear roads easily by using a network of nodes. With easy to use buttons to extrude, join, insert nodes and create mesh. Building new roads has never been so easy.

Download


This package has all you need to create 7 different road types from normal (with and with-out pavement), grass, sandy, race track and even a rail track. And you can add more road textures/materials as you need. You don't need any programming skills to create amazing looking roads.

Available at the Unity Asset Store


Creating your first road


In your scene add the prefab 'RoadNetwork_Main_pf' from Assets->eWolfRoadBuilder->PreFabs folder.

With this prefab selected, click on the Start new road button in the inspector. This adds a new road node to the scene as a child of the network node.

Now select This new node and click the 'Extrude road' button. this is your first (and the smallest) road. Click on the 'Create Mesh' button from any node and it will create your road.


From here you can Extrude from any node, just select the node and press Extrude, Each node has a type (Union)

End: One connection
Corner: Two connection
Junction: Three connection
Cross Roads: Four connection


You can't extrude from a node with 4 connections.

Just press on the 'Create Mesh' to check your final mesh.



Modifying existing roads


The options on the selected nodes will change if you have one or two nodes selected.

Single Node selected
Double Node selected

Delete Node :- Select the node and use the 'Delete Node' button in the inspector to remove any nodes you no longer need. It's best to use the delete button as it updates the linked nodes


Connect Nodes :- Select two nodes that are not connected, and press 'Connect nodes' to connect them.


Insert new Node :- Select two nodes that are connected, and press 'Insert new Node' to create a new node in between them.


Materials Frequency


On the Road Builder Script we have the Details section that lets you define how the different materials are applied to each road.

For this example I'm just using 3 different textures/materials.




The look of the road is defined from the set of material frequency items.
The first frequency you should always have set is the Main Texture This applies the material to all of the road.

Once per road will set the material to just once section per road. you can see in the above example as the green section on the road.
This option is ideal for one off details like Manhole covers, drains, etc..

Random 50 Percent Will replace the current material about 50 percent of the time.


This option is ideal for more common details like road damage etc..

All the options here can be stacked, adding a new 'Once per road' to our example will always set the once material on top of the other settings.

So here you will get the Blue material on each road (Once per road), but you will get a mix of Yellow (Main) and Green (Random 50%)

The current list of options are listed below.

Main Texture: Base texture for the road
Once Per Road: Will only appear once per road
Random 50 percent: Will randomly appear about 50% of the time
Random 25 percent: Will randomly appear about 25% of the time
Middle of Road: Will appear in the middle of the road

You can add more by updating the code in the method SetMaterialsArray in the file RoadConstructorHelper.cs


Defining the look of the roads


The look (contour) of the cross section of the road is customizable. With the options below

Road Width: The width of the road
With Curb: If ticked will create a Curb
Curb Height: How high the curb will be above the road
Curb Slope: How far back the curb starts
Curb Width: How wide the pavement section is
Curb Edge Drop: If the curb is raised, then this can be used to fill the gap at the far side of the road





Create Collision: Whether or not you need mesh collision on the road mesh object.
Mesh Per Node: If ticked this will separate the mesh and create it on each of the nodes. This is to help will object culling. if not set it will just add the roads as one mesh on the base object.
Drop To Ground: If ticked will drop the road to any object with layer set to 'Ground'. Note this could be slow for large roads.
UV Set: The main textures used for the roads have the road and pavements, 'ROAD_PAVEMENT' But if you are not using the Curb/Pavement this is wasteful and you should select the 'ROAD_ONLY' option that will use the full width of the texture as the road.






Dynamic road widths


With the release of Version 1.1 you can now set the Cross Section details per node. Allowing you to change the width of the road and the curb settings.


Each Road Network Node now has the option to Override Cross Section

Just Click on the Add Override Cross Section to override the settings
And the new script will be add to the object, that will let you set your Cross Sections Details.
If you need to remove the Cross sections Details just click on the Remove Cross Section Button


Override road materials


With the release of Version 1.2 you can now set the material frequency per node.

Each Road Network Node now has the option to Override Material Details

Just Click on the Add Override Material Details to override the settings.
And the new script will be add to the object, that will let you set your Material Details.
If you need to remove the Override Material Details just click on the Remove Material Details Button




Please note: Override material will not work well for Junction and cross roads. This is due to the way Junctions are created as a mesh.(Future releases may fix this)

Rounded inner corners


Crossroads and Junctions can now have smooth rounded inner corners.

Full release notes for 1.4 can be found Here


Baked Light map support


With the release of Version 1.5 you can now use the roads with Baked lighting. Just enable the new Baked Lighting option and adjust the unwrapping options.

The Unwrapping options are the current default import options on normal mesh import.




Modify terrain


With the release of Version 2.0 you can now modify the terrain to match the road.

More information about how to use terrains with Road Builder can be found Here


Closer nodes and 5 or 6 road junctions


Updated the mesh generation for junctions and crossroads allowing closer nodes to be much closer.



Junctions can now have 5 or 6 connecting roads



Faster mesh creation and AutoBuild


The create mesh will now only re-create the mesh if the node has change.

This can be seen by the colour of the road debug lines, Yellow it will not rebuild the mesh, Cyan it will rebuild the mesh.

Auto Build: option, once enabled it will automatically build the roads when the node are moved.

Note the AutoBuild option can only work when
Mesh Per Node: Is ticked
Drop To Ground: Is not ticked

You can see the auto build in action below.



Render underside of the road


Added an option to allow you too render the under side of the road.


To render the underside of the road you need to assign a material for it. Just add a another material to the material list. And set the frequency to Under road Texture

After the material is set, you can tick the Under Road flag. On the main RoadNetwork pre-fab or when you override the Cross Section.


Two new textures has been added to use as the under side of the road.

You may also like


Fence, Wall and Hedge Builder

Fence Wall And Hedge Builder Lets you quickly place walls in your game, using a user-friendly UI from within the scene editor or the inspector, Select from a list defined wall types and then select the style of that type

Traffic and Roadside objects

A Collection of 42 traffic and roadside objects prefabs, Ideal for any city.
Contains: Traffic Barriers, Road Barriers, Traffic Cones, Traffic lights (Animated), Crossing lights (Animated), Benches, Bins

Skyboxes Skies

Section of 10 Variety skies skyboxes, High quality panoramic scenes that can be used in your game.All textures (6 of them) are 1024 by 1024 resolution.


Support


If you need any more help please email us at Contact@electricWolf.co.uk