Not Enough Roads 2

by Danylo Chirva in Modifier Setups


How to Use:

  • Download the .blend file.
  • Append the “Not-Enough-Roads-v2” collection into your scene. This will import 4 predefined presets.
  • Choose the preset you need and start editing the appended road by drawing\extruding the curve or select another curve in modifier menu.


Nodes description

Main “Not Enough Roads” node


General

  • A setup panel for selecting the landscape for road snapping and for choosing a single curve or a collection of curves, which will form the mesh.
  • Optional "Subdivision surface"
  • Switching between 4 materials
  • "Trim Road" erases material from start and end of curve to make smoother transition.
  • "Extend Curves" grows curves from start and end. 


Width and Height

  • Precisely edit topology of every edge loop of the mesh to achieve any desired width and height.
  • Segments can be merged by assigning identical numbers for a simpler mesh.


Flatten Road

  • Corrects road's tilt on slopes and "Smooth Iterations" to smooth terrain unevenness.
  • "Junctions" disables flattening at intersections to avoid heavy overlapping, and "Blur Junctions" creates smooth transitions. 








Camera Culling

  • An optional panel for setting up culling to remove road objects (Fence, Street Light, Utility Pole) outside the camera view.
  • Fill the fields with your camera values.
  • Could be necessary to increase "Padding" to avoid pop-in/disappearing objects or shadows.
  • "Safe Zone" disables camera culling within a specified range around camera.
  • Deselect camera from every node until rendering if you experience slowdown while moving camera


Fence, Street Light, Utility Pole

  • Select the side for instances.
  • Specify the offset from the middle.
  • Enable culling (if needed and previous panel is configured).
  • Street lights can be set to light-only culling if you experience rendering slowdowns.
  • Adjust the light intensity or color by modifying the original "Point" object or placing your own light source.
  • "Gap" defines the distance between each object.
  • "Junctions" removing instances at intersections.












Remove by Curve

  • A panel for removing objects or editing material manually.
  • Select a single curve or a collection of curves for removal.
  • Adjust "Range" for distance from the curve and "Blur" for smoother transitions.
  • "Texture Range" offsets the distance from "Range".
  • "Snap to Surface" aligns curves with the road without manual adjustment. 




"Vegetation for Not Enough Roads" node

Camera

  • Similar to the previous node but includes an additional "Distance" option. 
  • "Start" is beginning of density reduction and "End" is where instances will stop spawn completely.
  • Big objects like trees requires wider padding and especially if it has long shadows.
  • "Safe zone" disables camera culling in specified range around camera.


Distribution

  • Select collection of instances which will be scattered on a mesh.
  • "Grow Zone" is an area defined by curve or curve circle where instances will appear but not outside.
  • "Density" - number of instances.
  • "Distance Min" is minimal distance between instances.
  • "Viewport Reduction" decreasing "density" for viewport only to improve performance without disabling modifier.


Transform

  • "Scale Multiplier" can be used to scale your instances.
  • "Scale Z Multipliersqueezes instances by z axis only.
  • "Shift" is lowering position of instances.


Clumping

  • Scaling and removing instances using scalable noise texture to create more natural distribution instead of plain.






Offset From Path

  • "Offset Start" and "Offset End": Removes instances within a specified distance from the middle and ends of the road, respectively.
  • Can be used to optimize number of instances by removing furthest from path.
  • Blurring options for smoothing transitions.


Other

  • "Junctions" removing instances on intersections.
  • "Instance on Line" allows distributing instances on the middle line of road


Remove Density

  • Select single curve or collection, specify distance, smoothness and instances will be removed around curve.
  • "Remove on Slope" removes instances based on steepness of terrain "generally useful for landscape".


Simple Wind Simulation

  • Changes rotation of instances based on noise texture
  • Adjust speed, noise scale, intensity as you need
  • Not recommended high intensity 
  • To enable, write "#frame" in the first field which has the same name. (Yea, that is weird way but any other ways updates whole node every frame even if turned off)


"Flatten Road" node

  • This node made to flatten landscape for road. It affects only defined "Radius" from road and not whole terrain.
  • Select curve or collection, adjust radius, and Iterations if needed and that is it.








Important notes and suggestions:

  • I recommend extruding curve or using "ctrl + rmb" instead of drawing tool to have mor control and avoid any weird curve overlapping.
  • If you see dark artefacts around vegetation - increase transparent bounces in render settings
  • If you see vegetation or shadows pop in - increase padding of camera culling. Every vegetation layer can be configured individually.
  • You can add as many vegetation layers as you want by duplicating node and choosing different collection and configuration.
  • If you experience crashes with large roads, turn of road's objects (fence, street lights, utility poles) and vegetation until rendering.
  • If your GPU "out of memory", setup "camera" panels in every node and enable camera culling with distance culling.
  • Adaptive Subdivision adds a lot of realism and can be quite vram intensive at standard settings. Some tweaking may be needed.
  • Absolutely recommend disabling vegetation, turning off simulation and deselecting camera from all nodes until rendering or you will get slow playback with large roads.
  • If you don't see vegetation - check render distance or culling options and make sure if node turned on.
  • There is no simple way to export road into another software.
  • If you are going to use this scatter on another mesh, set "Offset End" to 1 and "Offset Start" to 0 (default values)
  • If scattered on landscape vegetation overlaps with road, you can use road's curve in "Remove by Curve" panel of landscape's scattering modifier to delete vegetation near road.
Sales 100+
Customer Ratings 6
Average Rating
Dev Fund Contributor
Published 12 months ago
Blender Version 4.0
License Royalty Free
Have questions before purchasing?

Contact the Creator with your questions right now.

Login to Message