EasyRoads3D V3 Manual
 

 

General Settings


INTRODUCTION

The General Settings tab includes a set of options to improve the scene workflow, control the terrain object(s) and also allows you to auto generate road networks by importing OSM or KML road data.

 

SCENE SETTINGS

  • Default Indent: This gives control over the terrain deformation. The default values are based on the terrains heightmapscale to ensure accurate terrain flattening according the road and crossings shapes. Optionally these values can be increased these here. The Indent value represents the distance from the edge of the roads outwards to the terrain point that should be leveled at the same height of the road at that point to guarantee most optimal terrain deformation results. This value can be tweaked per marker but can never be lower then the Scene Min Indent value. Different default indent values can also be set per road type.
  • Default Surrounding: The default surrounding value represents the distance over which the height of the terrain at the Indent position will be leveled with the current terrain height.
  • Max Indent/Surrounding: This value will be used as the max for the indent / surrounding slider controls for the selected marker.
  • EasyRoads3D Layer: by default EasyRoads3D uses layer 31 internally for background operations, optionally this can be changed here.
  • Build Side Objects in Edit Mode: You can switch this off if you prefer to build the actual side object game objects only in Build Mode.
  • Use Light Probs: This will toggle on Use Light Pobes in the Mesh Renderer of the generated road.
  • Enable Back to Edit Mode without Terrain Restore. This is added upon request, when switching back to Edit Mode the terrain will not be restored to its original state before switching to Build mode. Please be careful with this!

    Scene View Settings
  • Highlight Selected Road: This will highlight the selected road. This can be useful to visualize the road in hilly areas in Edit Mode when part of the road is covered by terrain.
  • Highlight Indents: This will highlight the Indent area, the terrain area that will be leveled at the same height as the road.
  • Highlight Surrounds: This will highlight the terrain area over which the heights will be leveled gradually from the road height to the original terrain height.
  • Hide White Surfaces: This will hide the white surfaces surrounding the road and connection objects. Depending on the road shader these white surfaces may render through the road. This can be adjusted by reducing the Offset values towards 0 on the material in /Assets/EasyRoads3D/Resources/Materials/surfaceMaterial
  • Enable Side Object Handles: This will display handles in scene view to control for example the Start and End offsets for side objects. The H key can be used for this as well.
  • Display Critical Areas: The unity terrain object stores Terrain height data in decimals between 0 and 1. Therefore it is not possible to apply negative height values. Parts that are nearby or below the 0 value will be displayed with red handles. This can be used to quickly double check these critical areas and to make sure the terrain does not break through the roads.
  • Only Display Markers Selected Road: only the blue markers of the selected road will be displayed when a road objectis selected.
  • Marker Handle Size: This controls the size of the blue marker handles in Scene View.
  • Marker Display Distance: This controls the max distance for which handles will be displayed.
  • Exclude Locked Objects: When toggled on, no marker handles will be displayed for objects that are locked.
  • Mesh Terrain: Alternatively you can use a Mesh terrain instead of the Unity terrain object. Mesh terrains will not be deformed according the road shape.
  • Global Grid [Pro]: Road markers and connection prefabs will snap to the grid. This can be useful for city or urban environments.
    • Grid Cell Size: The cell size
    • Grid Display Size: The vizualization size of the grid. The focus point is the center of the window
    • Grid Rotation: The global rotation
    • Grid Color: The color of the grid cell outlines

      Local Grids
      Local Grids can be created. This is useful when different grid orientations (Rotation) or cell sizes are required in the scene. The controls are the same as the controls for the Global Grid.

  • Scene Objects Control: By default Unity will select the object in the scene when it is clicked. To keep the road network selected when adding markers or selecting roads or crossing objects, click events on the terrain are intercepted. Other large objects like water surfaces can interfere, they will be selected when clicked. Optionally this type of objects can be added here by dropping them from the hierarchy in the "Add Object" slot. Just like with the terrain object, double click will still select this object.
  • Refresh Road Network: This will rebuild and clean up the road network.

ROAD TYPES [Pro]

Especially when building complex road networks with different road types it is recommended to setup road presets before actually building your roads in the scene. These presets will be available when adding a new road to the scene or when setting up crossing / connection objects and is an easy way to make sure road types look the same and match with the associated crossing types. EasyRoads3D road types can also be linked to OSM road types.



Most of the properties refer to the same properties as for road objects in the scene. The other controls are explained below.

  • Add New Road Type: This button will create a new road type. It will be selected automatically, you can set the road type name, with and material
  • Add Project Road Types: Scene road types are also stored in the list of project road types. This way you can reuse road types across scenes. This button will display all project road types. Those road types already available in the scene will be disabled. This button will be disabled If all project road types are already available in the scene
  • Manage Project Road Types: This will list all project road types and allows you to remove old, unused road types. Note that removed road types will added again if they still exist in a scene!
  • Import Road Types: This will open a window to import road types from another project [website tutorial]
  • Export Road Types: This will open a window to export road types so they can be used in another project [website tutorial]

  • Road Types: This dropdown will list all the road types available in the scene
  • Duplicate Road Type: This will create a copy of the road type which is useful to quickly create a new road type with almost similar settings
  • Remove Selected Road Type: This will remove the selected road type from the scene, it will remain available in the project road types

Main Settings:

  • Road Type Name: The name of the selected road type in the dropdown
  • Road Width: The width of the road
  • Sub Segments: This controls sub division. Note that dynamic built-in crossings do not yet support sub segments. In order to use this within the road network oads with sub segments can be attached to an I Connector, the road on the other end of the I Connector can be attached to built-in crossings
  • Default Vertex Color: The default vertex Color for this road type. This is adjustable per marker and can for example be used in custom shaders for road texture transitions

Road Detail:

  • Resolution: The geometry resolution in meters
  • Angle Threshold: This can be used to optimize the road geometry while still maintaining detail is bends. Try values around 5 and increase the road resolution to 10 or 20. The vertex / triangle count will drop significantly
  • Bumpiness Y Offset: The smoothness level of the road controllable through Min Max values
  • Bumpiness Distance:The distance controlable through Min Max values
  • Random Tilting Angle:Adds additional tilting to the road controllable through Min Max values
  • Tilting Distance:The distance over which the tilting takes place
  • Follow terrain Contours: The road will auto adjust to the terrain shape, this will greatly speed up the workflow as less markers will be required
  • Contour Threshold: The lower values the more the road will match the terrain shape, use higher values for roads like motorways

Materials:

  • UV Tiling: The tile size of the used texture. This is adjustable per marker and can be used for example in custom shaders for road texture transitions
  • Additional UV Data: Optionally more UV data can be stored in UV4, this can be data matching the terrain bounds or additional detail based on a specified distance. This distance will be recalculated based on the road distance in order to clamp these UVs just like with the main UVs
  • Road Material: The road material. The dropdown lists all materials in /EasyRoads3D/Resources/Materials/Roads and can be used to quickly assign another material
  • Connection Material: This refers to the connection on dynamic connection objects. When selecting this road type for that particular connection the connection material will auto update
    Create New Connection Prefab: This will auto generate a new dynamic prefab for the selected road type
  • Physics Materials: The physics material that should be assigned by default for this road type

Object Settings:

  • Layer: the default layer for this road type
  • Tag: The default tag for this road type
  • Static: Enable this checkbox to mark roads of this type as static
  • Cast Shadows: The object will cast shadows
  • Terrain Deformation: This can be used to turn off terrain deformation for this particular road, for instance road types used as bridge segments
  • Default Indent: The default indent distance for this road type
  • Default Surrounding: The default surrounding distance for this road type

Terrain Splatmap Baking:

Optionally the road shape can be baked in the terrain splatmap. This is a useful and effective way way to blend the road in a natural way with the terrain.

The below options will be visible when the "Terrain Deformation" visible above is active.

  • Activate: This will activate terrain splatmap blending for this road
  • Splatmap Texture: This will list all the availabe terrain splat map textures. Select which texture you want to use
  • Expand: This will increase the size of the road shape
  • Smooth Level: This will gradually blend the selected texture with the original terrain splatmap
  • Opacity: Use this to set the strength of the road shape in the terrain splatmap

Start / End Decals:

Here we can add prefabs that will be auto inserted randomly at the start and end of the road. The randomly selected decal can always be update manually in the main road settings of the selected road
  • Add New Decal Object: After dropping a prefab in this slot additional options will appear
    - Priority: This can be used to have certain decals appear more often then other decals
    - Position: Is this decal for the start of the road, the end or both
    - Scale: Decals will be rescaled relative to the road width, the scale can be used to scale the decal relative to this width
    - Road Section Width: this is by default the road width, custom prefabs however can have the sidewalks as part of the shape. In that case the actual road width can be entered here
    - Height Offset: The distance of the prefab above the road
    - End Rotation: This can be useful when the decal is used both at the start and end of the road and the orientation should be flipped. In that case a value of 180 will do that

Side Objects:

Side objects can be activated for road types. These side objects will be activated automatically for new instances. It is still possible to deactivate the side object for a road when the side object is not required for that specific road.
  • Is Side Object: When toggled on no actual road mesh will be created. This sort of "road" types can be used to create other ready-to-use objects like fences based on side objects by activating the specific side object for this "road" type (see further below). This feature is also used for the river example in the demo project

Active Side Objects:

Here all available side objects will be listed, after activating a side object a foldout menu will appear with road specific controls that will also be available on all road instances. By default the values are inherited from the settings in the Side Object Manager. Here they can be fine tuned per road type.

Buttons:

  • Create Snap Connector: This will create a snap copnnector prefab in /Assets/EasyRoads3D/prefab sources/snap connectors/. Snap Connector prefabs can be attached to any other prefab in the scene. Roads / side objects of this type can be attached quickly to these prefabs or new roads / side objects can be pulled out from the prefabs. Think of . Like a central wall post where multiple wall side objects can connect to. Add snap connectors with the specific wall side object auto activated to the wall post prefab. In the scene new walls can be pulled out, existing walls can be attached quickly to the pillar exactly aligned with the center al wall post. Or for roads, imagine buildings, houses with driveways, attach a snap connector to the garage door, snap the driveway road object and it will align instantly with the garage door.
  • Update Scene Instances: This will update all road instances in the scene and crossings that match this road type

 

CROSSING / CONNECTION PREFABS [Pro]

EasyRoads3D supports two systems to create crossings, often referred to as "connection prefabs" because these type of objects do not necessarily have to be crossings, but can also, for example, be mesh based crosswalk prefabs. The main system is the dynamic prefabs system, these are built-in customizable connection prefabs. The second, very powerful system, is the custom mesh prefab system with which you can turn your own models into connection prefabs. You can use this to further customize your road networks whilst still taking advantage of the EasyRoads3D scene workflow.

DYNAMIC CROSSING PREFABS

The dynamic crossing system currently supports creating new standard X , T crossings and roundabout prefabs. This is especially useful when you have many similar types of crossings in the scene. By creating a prefab first, the prefab can be reused in the scene without having to customize it each time. It is still possible to create variations of an instance of this prefab in the scene.

These dynamic prefabs will be stored in:

/Assets/EasyRoads3D/Resources/dynamic prefabs

Dynamic X and T connection prefabs for newly created road types can be created automatically from the road types section , or in this section:

1) Enter a name for the new crossing prefab in the "New Prefab Name" textfield.

2) Select from the dropdown what type of crossing preset you want to create, crossing or roundabout. You can also create a new prefab from an already existing prefab by selecting this existing prefab from the Create Copy of dropdown. This is useful to quickly create prefabs with variations.

3) Click the Create resp. Create New Prefab (in case you create a copy of an existing prefab) button. This will create the new prefab in the above mentioned folder

At this stage the new prefab can be edited fro in side project folder by opening it in the Inspector > Open Prefab


NOTE:
Dynamic X and T connection prefabs for newly created road types can be created quickly from the road types section. The new connection prefab will inherit the the settings of the selected road type.

 

Customizing Crossings:


Copy from existing prefab

Use this if you want to create a new prefab based on one of the prefabs that come with EasyRoads3D or based on a crossing prefab you already created before

General Settings

  • Crossing Layout: This controls the geometry structure and style of the crossing. At this moment only X Shape is implemented. Other options will follow.
  • T Crossing: This will create a T shape crossing
  • Resolution Straight Side: The geometry resolution on the straight side section of the T Crossing
  • Swap Turn: With this button you can control whether the other road connects to left or right side
  • Activate Bending: This will support small bending angles on te T Crossing
  • Include Sidewalks: Sidewalks will be active by default for this crossing. This will also activate the sidewalk settings further below
  • Planar UVs: This will generate planar UVs instaed of local UVs relative to the connection direction. This could be useful for pavement type of crossing styles
  • Terrain Deformation: The terrain will be adjusted according the shape of this crossing


Connection Settings

Connection settings refer to the road characteristics at each side of the crossing / connection which can all have their own specific characteristics.

  • Connection Setup: This dropdown includes three options. Uniform Connections, the selected road settings will be applied to all four connections. Uniform Opposite Connections, the front and back connections share the same settings and the left and right connections share the same settings. Unique Connection, each connection will have its own specific settings.
  • Select Road Type: This is where road type presets come in useful. Select one of the available road presets to set the connection info. Also with regard to future features it is strongley recommended to use this workflow instead of manually adjusting individually settings such as the width here below. But you can still do this for a specific road in the scene that will not be reused elsewhere. Creating a new road type only for a single road is not necessary and wouldn't be efficient.
  • Connection Width: this will be the width of the connection. It will be inherited from the selected road type but could be customized for a single crossing in the scene that will look different.
  • Road Material: The material that will be assigned to roads attached to this connection
  • Connection Material: the material used on this crossing connection geometry
  • UV Tiling: This can be used to control the UV tiling for this connection

Corner Settings

Each corner of a crossing can have its own properties both for the road corner shape as for sidewalks.

Corner Settings

  • Uniform Corners: when checked corner changes will be applied to all crossing corners.
  • Select Corner preset: You can store corner settings further below in the Inspector. Currently saved settings will be displayed here. This can be used to quickly assign the same corner settings to other corners across all crossing / connection prefabs. Simply selected the wanted preset from the dropdown.
  • Radius: The size of the rounded corner
  • Start Angle: This option is enabled when the second road is snapped to the main road (like a dirt road to an asphalt road). This way you can create flexible non 90 degree roundings.
  • Rounding Segments: Use this to get the desired geometry resolution for the rounding
  • Inner Segment Distance: This controls the distance of the inner row road vertices and depends on the nature of your road texture, the thickness of markings or other design elements at the sides of the roads that need to be preserved.
  • Corner Preset Name: As mentioned you can assign presets to a corner. Here you can enter the preset name if you want to store the current settings as a new preset
  • Save as Corner Preset: Click this button to store the current corner settings as a new preset after entering a name

 

Sidewalk Settings

The below controls will be active when "Include Sidewalks" in the General Settings (covered further above) is active

  • Select Sidewalk Preset: Just like with crossing corners, you can create presets from the current sidewalk settings. This can be used to quickly assign the same sidewalk settings to other sidewalks across all crossing / connection prefabs. Simply select the required preset from the dropdown.
  • Sidewalk Width: The full width of the sidewalk
  • Curb Height: The height of the sidewalk
  • Curb Width: In order to accurately assign UVs in corner roundings additional vertices will be generated. The width of the curb depends on your sidewalk texture. You can manually adjust the UVs further below through the Sidewalk UV Editor explained further below
  • Beveled Curb: This will generate more complex geometry for the sidewalk
  • Bevel Height: The height of the additional segment. Keeping this at 0 will create a diagonally shaped sidewalk
  • Bevel Width: The width of the added diagonal segment.
  • Outer Curb: This will add a extra triangles at the outer side to the road level
  • Material: The sidewalk material
  • Sidewalk Preset Name: Here you can enter the preset name if you want to store the current sidewalk settings as a new sidewalk preset
  • Save as Corner Preset: Click this button to store the current sidewalk settings as a new preset after entering a name
  • Sidewalk UV Editor: EasyRoads3D will auto assign UVs based on the above settings. Optionally you can fine tune these UVs. The Sidewalk UV EDitor button will open a window that will display the texture assigned to the above selected material. Depending on the chosen complexity of the sidewalk geometry you will see handles at the bottom. Moving these handles will auto update the UVs in the scene. Click here for more info.

 

Connection Handles in the Scene:

- Near each crossing corner 3 sphere handles are displayed. The middle handle controls sidewalk rendering for this corner in general. The outer two handles control whether sidewalks should be added to roads connected to these crossings.

- You will also see grey handles in the center of each crossing. After clicking the grey handle it will display in white, the connection prefab will be aligned according the to this connection attached road direction.

Inspector > UV Editor button

The UV Texture window will appear with the selected road texture displayed on the canvas. This window can be used to correctly map the sidewalk UVs. Drag the green handles horizontally. You will see that the UVs update directly in the scene. It is recommended to start with the sidewalk on the left side of the connection (looking towards the center of the object). If the sidewalk on the right side matches you can afterwards click the mirror button, this will mirror the left hand UVs for the right side.

If a handle appears to be undraggable, deselect and reselect it!

 

Customizing Roundabouts:

  • Roundabout Width: The width of the road section
  • Radius: The distance from the center to the middle of the road section
  • Resolution: The geometry resolution of the roundabout
  • UV Tiling: The tiling power
  • Flip Connection UVs: Reverse the distribution from towards the roundabout to outwards
  • Connection Material: The material assigned to connections
  • Inner Material: The material assigned to the roundabout itself
  • Refresh Roundabout: Rebuilds the roundabout
  • Distribute Connections Evenly: This will set the connection positions evenly around the roundabout
  • Add Connection: Adds a new connection if there isenough room
  • Select Road Type: It is recommended to assign a road type to connections, the width and material will auto adjust
  • Road Width: Set the width manually
  • Connection Material: The material assigned to the connection section
  • Road Material: The material used for new road objects extruded from this connection. This will be inherited from the road type when a road type is assigned
  • Position: The position on the roundabout represented by the node index matching the resolution
  • Left Rounding Radius: The corner radius on the left side of the connection
  • Right Rounding Radius:The corner radius on the right side of the connection
  • Rounding Segments: The resolution of the corners
  • Connection Length: The distance of the connection
  • Delete Connection: Removes the connection from the roundabout

Below are the recommended steps to create a new roundabout prefab especially when working with larger road widths than the default width of 5

  1. Delete connections so only one connection remains
  2. Set the radius to a safe larger value, for example 20
  3. Depending on the width of connection 1, move the Position value further in CW direction so the connection will fit well to accomodate the below step 4.
  4. Select the road type for this connection and move the Position back to the lowest possible value (see the below NOTE with regard to the visible blue and red handles)
  5. Press "Add Connection", select the road type for this connection and move the connection towards connection 1 to create space for the next connection
  6. Repeat step 5. note that the connections will be redistributed around the roundabout. When no connection is inserted, it means that the radius and current connection positions do not allow for a new connection to be added. In that case, either reposition connections and / or increase the radius
  7. Repeat these steps until all connections are added
  8. Optionally the radius can now be adjusted, there will be messages in the console when the radius has become too small
  9. Optionally at this point “Distribute Connections Evenly” can be used to rearrange the connections around the roundabout

NOTE: The blue handles show the boundaries of the selected connection. The red handles show the available space between which the selected connection can be repositioned

 

CUSTOM CROSSING PREFABS [Pro]

Custom connection prefabs are mesh based prefabs prepared to be used within the EasyRoads3D system. These can be your own unique models created in a modelling app. The system supports prefabs with child objects and submeshes. Currently all prefab mesh data will be read in.

http://youtu.be/yDUhBZg7tQM - customized road networks - Part 1
http://youtu.be/qxeLHG7K9xQ - customized road networks - Part 2

This is how it works:

1. Select the General Settings tab from the toolbar in the Inspector.
2. Open the Crossing / Connection Prefabs foldout.
3. Click Create New Custom Prefab, the Custom Connection Prefab window will appear.


4. Drop your mesh object from the project folder on the stage. It will be assigned to the Source Object slot at the top left.
5. Make sure the geometry is displayed top down. Try a different axis from the Trace dropdown if this is not the case.
6. Recalculate Normals. This will assign normals to the mesh using Unity's Mesh.RecalculateNormals() which is also used on the generated roads. It can be useful to achieve a smooth transition from the crossing to the road.
7. Recalculate Tangents: This will recalculate the tangents which is required when a different roation was applied above in Trace On:
8. Click Build Connection Prefab. This will create the new custom crossing prefab in the folder /Assets/EasyRoads3D/Resources/custom prefabs
9. The next step is to assign the vertices that will connect to roads attached to the first connection. This is done by drawing a rectangle (Shift + Left Mouse Button+ Drag) around these vertices holding the Shift key. For complex meshes you can use Stage Rotation so the required vertices fit nicely inside the rectangle. The selected vertices will be highlighted in green.
10. After selecting the connection vertices the system will check the list of available road types for matches and will auto select a matching road type. You can change this when there are more matches.
11. Click New Road Type to create a new road type for this connection. This is optional. The advantage is that this road type will be auto selected for other generated connections matching this connection. You will also be able to auto activate side objects to this road types which will be automatically assigned to these road types in the scene. And you will be able to create these type of roads directly in the scene from the second tab on the left in the Insepctor. Note: This does require road shape data, if no nodes have been selected yet for this connection, the button will be disabled.
12. Select the road material for the attached road from the Road Material drop down or assign it manually by dropping the material from the assets folder in the material slot below the Road Material dropdown.
13. The UV Editor window allows you to make changes to the UV layout used on roads attached to this connection. Click here for more info.
14. If you want the connection to align with the connected road angle, you can set additional bending settings. Use Distance and Extend Bounds to set the bending strength and affected vertices. You can test the bending through the Deform Test slider. [All this is currently not yet active]
15. Top View / Front View will switch between displaying the full prefab top down and displaying the selected connection geometry from the front view.
16. To add more connections, Click Add Connection and repeat the steps starting at 9.
17. In order to deform the terrain according the mesh shape make sure Terrain Deformation is checked. You will see blue points on the stage which will be used as a reference for the deformation shape. This is currently working for standard shapes like crossings and simple objects like crosswalks. More options will follow and will make it possible to customize the deformation shape and have terrain flattening work for more complex shapes.
18. Click Apply to the save the changes.

The new custom crossing prefab will now appear in the list of available custom crossing prefabs in the scene tab when the first or last marker is selected and in the prefabs tab where you can select the new custom prefab and directly instantiate it in the scene.

NOTE: Add connections in clockwise direction preferably starting at the bottom.

NOTE: Already generated custom prefabs can be edited by opening the window and dragging the prefab from the the assets folder (/Assets/EasyRoads3d/Resources/custom prefabs/) directly on the stage or in the Crossing Prefab slot.

NOTE: In order to be able to edit custom prefabs in a later stage, do not remove the original mesh object from the assets folder.

NOTE: The terrain will be flattened according the local Y=0 position. Depending on the model type, make sure that all vertices are at Y = 0 or higher.

NOTE: to avoid z-fighting / flickering make sure to use one of the EasyRoads3D shaders on the material assigned to the custom prefab.

NOTE: Although this system should support relatively complex shapes (also none roads related), connections should always point outwards relative to the center of the object. Meaning, roads/tracks connected to this crossing should move away from the center at the connection point which usually is the case for road type of networks. So make sure the center of the mesh bounding box is at the pivot point, the larger blue dot in the image above.

NOTE: The system supports, non "flat" connections for prefabs that do n ot connect with the terrain. This is useful to create for example bridge elements as part of the road geometry. Please check the example prefabs in the package on how to set this up. Important is that the UVs of the vertices where the geometry connects are accurate, 0 resp 1. A small inaccuracy of up to 0.01 will work but you do want to stay within this margin. If the connection does not extract well, this is the first thing to double check. Also make sure to not close the connection area with triangles that will not be visible anyway after connecting roads.

NOTE: This custom crossing prefabs system has been tested with a large number of different meshes. Models however can have any arbitrary shape. If you experience issues when using this system with your own models, please report this with preferably the source mesh included by contacting us at info@unityterraintools.com

 

UV EDITOR

The UV Editor window can be used to make changes to the UV layout for dynamic crossing sidewalks and road connections added to custom crossing prefabs. By default UVs are calculated within the 0..1 range based on the distances between these vertices.

The textures assigned to the used material for these objects is displayed on the canvas. At the bottom you will see the UVs positions per vertex. If this is not accurate, You can move these points to the matching position on the texture.

  • Planar UVs: This will auto generate the UVs ignoring the Y position of the vertex.
  • Copy UVs from source mesh: This option is displayed when the UV Editor window is opened from the Custom Crossing Editor window. It will set the U coordinate to the same U value as the matching vertex. You can use this to quickly assign UVs when the road material texture exactly matches the texture used on the source prefab for the connection vertices.
  • Hard Edge: This option is displayed when the UV Editor window is opened from the Custom Crossing Editor window. By default the road mesh should inherit the normal groups of the source mesh. "Hard Edge" represents smooth or hard edges on matching triangles for the selected node (this is read only).

Note: When the UV Editor window is opened from the Custom Crossing editor, selecting a point will highlight the corresponding vertex in the Custom Crossing editor window. This way you can see for which vertex you are adjusting the UVs.

Note: When using Copy UVs from source Mesh and the connection has a closed geometry structure (the first and last vertex positions are the same), usually these vertices use x = 0 and x = 1 as the UV coordinate. It could be that these values are assigned to the wrong vertex and need to be swapped. You will clearly see this in the scene after attaching a road, the full texture is visible between two vertices. Swapping the UVs is done by dragging the most left (0) to the most right position (1) and the most right to the most left. [Add this to trouble shooting as well]

 

Side Objects on Custom Connections

When Generate on Connections is enabled for a side object, this side object will be auto generated on connection objects when the side object is active on both road objects on that connection side.

The curve for this will be auto generated when possible, this should be on the edge. For more complex custom connectors this may not be accurate. It is possible to customize the curve in the Unity Prefab Editor.

Select the generated prefab in the project folder: /Assets/EasyRoads3D/Resources/custom prefabs/ and press the "Open Prefab" button in the Inspector.

Make sure the "Side Object Data" tab is active, visible halfway on the right in the below image.

Here the curve can be set for each individual Connection. It is possible to connect the side object over the full distance between the two connectors, "Join on Left side" and "Join on Right Side". In that case the full shape will be visible and editable. The system will automatically distribute the nodes evenly between the two connectors.

When the curve is empty or when you prefer a different curve it is possible to create a new list of nodes by entering the Node Count.

Nodes can be selected and moved in the Viewport to shape the curve.

The curve can be reset to the originally extracted nodes by pressing the respective "Reset to Default Nodes" button. This will update the curve or leave a message when no data is available.

"Update Scene Instances" will update all matching objects in the scene according the new curve data.

 

LOD GROUPS [Pro]

The LOD Groups option will create different LOD levels of the road meshes according the above settings. These LOD Levels will be created after switching to Build Mode.

  • Active: Activates the LOD Groups system
  • LOD Levels: The number of LOD levels
  • Bounds: LOD level changes are based on the bounds of the road mesh relative to the screen. The next lower LOD level will kick in at this percentage.
  • Resolution: The LOD level resolution of the road mesh in percentages with a minimum scale of 10% of the original mesh

NOTE: In order to actually create the LOD groups Build LOD Groups in the Build Settings must be active.

NOTE: To cull the road further away after the lowest LOD level set the Bounds of that LOD Level to a value higher then 0.

 

TERRAIN MANAGEMENT

EasyRoads3D will alter the Unity terrain object(s) in the scene. Here you can create backups and restore your original terrains. Whenever a new terrain object is detected in the scene you will be asked to create a backup. It is recommended to do so. It is also recommended to update these backups after manual changes to the terrain to keep these backups up-to-date.

The backup / restore options are also displayed in the Inspector of each individual terrain object in the scene.

Alternatively you can also for example create backups of your terrain by duplicating the corresponding terrain asset in the project folder. Simply drag this terrain asset in the scene to replace the corresponding terrain you want to restore.

Tree Distance and Detail Distance refer to the surface outside the road where trees and detail objects should be removed.

 

IMPORT ROAD DATA [Pro]

Road data from external sources can be imported directly into EasyRoads3D v3. The roads will be created automatically.

 

By default EasyRoads3D will match the bounds in the data file with the bounds of the terrain. However, if the coordinates do not exactly match those of the terrain, the terrain bounds can be entered in the corresponding terrain longitude / latitude fields. The data will be parsed relative to these terrain coordinates.

 

WORKFLOW

Open Street Map

Visit openstreetmap.org , zoom in to the location of your choice. Click the green "Export" item at the top. You will see lon lat coordinates and additional info at the left. Click the blue "Export" button. This will generate an *.osm file.

For OSM data EasyRoads3D road types can be linked to OSM road types. For each OSM road type select the EasyRoads3D road type from the dropdown. For KML files a single road type can be selected.

Click the Open OSM File or Open KML File button in the Inspector and select the downloaded file. The system will extract the data and create the roads.

Notes: The Stream OSM Data option is not yet functional.