EasyRoads3D V3 Manual
 

 

Troubleshooting


 

Shift + Click to add road markers does not work, instead the terrain is selected

When this happens in the free version, the free version does not support multiple terrain tiles in a scene. If this is the case then adding markers will fail when adding them on the terrain that is currently not referenced by Terrain.activeTerrain.

Shift + Clicking not working can also happen in recent Unity versions in a usually customized Unity editor layout that has resulted in keyboard or mouse button events not being captured anymore in OnSceneView(). Instead the clicked object is selected, the terrain in this case.

One known situation that causes this is when the "Gizmos" tab (on the right above the Scene View window) is not enabled. Gizmos being enabled is required anyway to show various road network related handles. It is enabled in the default Unity setup.

Otherwise, one way to verify the Unity editor state is to duplicate the project and reset the Unity editor layout back to one of the presets through the main menu > Window > Layouts. Afterwards the editor can be customized again to the preferred layout. When the problem returns and can be recreated, then please contact us. We have discussed this with the Unity QA Team, they have seen this situation and they will be very interested to hear how this issue can be recreated.

 

After importing the Demo package no road types and side objects are available

The demo package itself does not have road type and side object data stored in the project folder. The reason for this is that importing a package update at a later stage would overwrite this data including possibly changed road types, side objects and newly added road types, side objects.

In order to make the road types and side objects available in other scenes, please open the demo scene, select the road network objects in the hierarchy and deselect it. At this point the project road type, side object data will be updated. The road types and side objects will now be available in other scenes.

As from v3.1.9f0 there should be a notification message that new road type and side object presets are available with the option to import these presets in the project. Afterwards these presets will be available in "General Settings > Road Types > Add Project Road Types" and "Side Object Manager > Add Project Side Objects"

 

Roundabouts are not correctly instantiated and connected to the first or last marker of a road

For now avoid instantiating a roundabout directly to the first or last marker of the selected road. Instead use the other way to Instantiate intersections in the scene, by selecting the crossing prefabs tab . Select the roundabout from the list of available crossing prefabs, hold the SHIFT key and click in the scene where you want to position this roundabout. You can now connect roads to the prefab or start new roads by dragging the red roundabout connection handles. For full details click here.

 

The Roundabout geometry does not update after changing to the radius, resolution or after adding / changing a connection

Before creating/ adding the connections of a roundabout it is recommend to first set the radius and resolution correctly. The number of possible connections depends on the resolution and the radius and the width of the connections. If you make changes to the radius or resolution when connections already exist it could be possible that connections cannot be rebuild. You will see warning messages in the console when this occurs. You can try repositioning connections, starting at connection 1, by carefully checking the white middle handle and outer green handles positions. The green handles turn red when that connection cannot be created because it is either to close to the start or end of the roundabout (the white outer handle at the fixed position) or because it is overlapping another connection. But the easiest way to solve this, is by removing all connections first and then start adding new connections, the geometry of the roundabout will rebuild.

This will be further optimized, for now it is recommend to avoid this situation by first setting the radius and resolution correctly. In this case the roundabout geometry will only not rebuild when the currently selected connection overlaps another connection. You can fix this by either changing its position using the position slider or by changing the width of the connection.

 

The sidewalks of the connected road do not update after activating / deactivating the sidewalk on the connection prefab

This will happen when the road is connected to a connection prefab on both ends. This will be fixed. For now, please check the other connection sidewalk settings on the corresponding road side and make sure they match.

 

Road markers outside the terrain boundaries are unselectable

When a marker for some reason is positioned outside the terrain boundaries you can select it by carefully moving towards the marker over the road mesh.

 

The Road cannot be attached to a crossing connection. The road geometry and the crossing connection geometry matches but the connection handle in the center shows in red

This can happen when sidewalks are active but the outer sidewalk handle is disabled (meaning sidewalks will be inactive for the attached road). Select the specific crossing and make sure the outer corner handle is green (active) when the road on that side does include sidewalks.

This will also happen for custom crossings when the geometry structure of the road does not match the custom crossing connection.

 

The terrain is clipping through the road or the road is floating above the terrain / z-fighting

There are several situations that can cause this:

1) The Unity terrain object stores height values in decimals between 0 and 1, meaning it is impossible to apply negative height values. The road objects must be at or above the terrains game object Y position. Also take into account the nature of spline shapes. When placing two markers (A and B) exactly on the terrain objects Y position and a third marker (C) is raised a bit higher, the road shape (spline curve) between A and B will go slightly below the terrain objects Y position, the terrain will be rendered above the road in this area because it cannot be pushed lower. These areas are highlighted by red dots indicating that the road may need attention in this area. Random Tilting & Bumpiness values below 0 should also be avoided when the road is positioned at terrain y = 0.

To solve this, move the road markers a little bit upwards or flatten your terrain objects first at an higher level before sculpting it by selecting the terrain object > Terrain Tools > Set Height > Set the value > press "Flatten Tile" or "Flatten All". That way there will always be room to adjust the terrain downwards.

2) The Unity terrain object is grid based, it is impossible to add terrain detail points to this grid. So the bigger the heightmapscale (terrain size vs heightmap resolution) the less flexible road shapes can be regarding sharper turns with height differences. Enough terrain points must be available to adapt the terrain to the road shape changes in that area. This will for example become clearly visible in sharp bends with also significant height changes in the bend. Possibly the same terrain points are used to adapt the terrain to the road height at position A and the road height at position B , the resulting terrain shape will not be accurate. When switching the scene view shading mode to for example Shaded Wireframe and zooming in, the terrain grid, the terrain points, will be clearly visible. The lower the density of terrain points within and around the road shape, the less accurate the terrain can be adjusted to the road shape.

3) The same can happen when roads or road segments are too close to each other, at least two terrain points must be between the two roads, one leveled to road A, the other leveled to road B.  When the same point is used on both roads it is very likely the terrain will either pop through the lower road or the higher road floats above the terrain at that position.

4) Also please check the status of the Left and Right Indent Alignment dropdowns in the marker section of the road. The default value is "Align with the road". One of the other options will result in a small or larger gap between the road and the terrain. The purpose for these options is custom terrain deformation when walls or terrain mesh overlays near the road edges are involved. One thing that have an automated affect on this are side objects marked as Terrain Surface Object in the side object manager? Assuming that the specific side object shape will cover that area for more terrain detail it will keep the terrain itself more at the original height.

5) When using customized terrain deformation settings, tilting on the roads and reasonable road height differences in that area, it is more likely that the terrain will break through the terrain. This will be further optimized. For now try to lower the road tilting and/or height differences.

6) EasyRoads3D uses Layer 31, do you have other objects on this layer?

7) Z-fighting, the roads are laid out on top of the terrain. Make sure to set a "Raise" value in the Inspector in Build Mode, especially when shaders with no Z-fighting Offset options are used.

8) Height values are stored in float values between 0..1, the final height is calculated by multiplying this with the height value of the terrain. A height value of 600 (the default terrain height) will result in a smoother terrain then a terrain height of 8000. High values of 4000+ can result in small height inaccuracies requiring a higher Raise level so the road is above the terrain.

9) "Draw Instanced" in the terrain settings, this is disabled by default. Enabling this can affect the terrain shape in a way that it no longer exactly follow the road. In the Unity editor all will look good, but inaccuracies may be visible in the final build.

10) Each road object will affect the terrain sideways over a distance that depends on the terrain specifications, the heightmap resolution and terrain size. This distance is defined by the Indent value. The Indent area can be visualized in General settings > Scene Settings. The Indent and Surrounding areas of Other road objects should not be within this area. It will not be possible to accuraterly update the terrain for both roads.

Please contact us if all this does not apply to your situation.

 

The road network cannot be moved or rotated

The road network object tranform is indeed locked. The reason for that is, imagine working on a flat area and accidentally moving the road network and only finding this out later. It will be almost impossible to exactly match the existing road network with the terrain, especially in a more hilly terrain.

But the road network object can be moved. To do so, select the two child objects “Connection Objects” and “Road Objects” under the main road network object, and move these two objects to the new position. There will be a notification of these changes in the Inspector, press the "Apply Transform Changes" to confirm the changes, the road network objects will be updated accordingly.

 

After changing the terrain object heightmap resolution the terrain does not accurately restore to the original terrain

Changes to the terrain object settings (such as heightmap resolution or detaill map size changes) should be done with the road network in Edit Mode.

When this is done with the terrain addjusted to the road network the originally stored terrain cell index positions will no longer match the same position on the terrain. The terrain will indeed not accurately restore back to the original terrain.

 

Some road objects do not affect the terrain heightmap

This will happen when "Terrain Deformation" in Road Settings > Object Settings is not active. The Terrain Deformation status can be set per road type, for specific road types like overpasses the terrain should not update. And the same setting is also available per marker section. This is for example used for manually activated bridge side object sections per road marker section.

 

The road edges are highlighted but the road itself is transparent

This will happen when using a road shader that supports transparency. It is possible to assign vertex colors to road markers, this can be used for various purposes on the user end. For the tool itself vertex colors are used for the blend feature at the start and end of a dirt track. This uses the alpha channel of the vertex color. When the vertex color alpha channel is 0 on all the markers, the road object will be fully transparent.

 

Keyboard shortcuts do not work

For actions such as Shift + R (remove the selected marker) please make sure the Scene View window has focus.

 

Road marker handles and other handles are not visible

The Gizmos tab at the right above the Scene View window must be active.

 

The normals at connection points between the road and a custom connection prefab are not smooth

This is most likely due to the geometry structure between the connections as both ends of the road not being identical. Although the road connects well it is possible that there is a difference in normal groups between the two connections. Therefor it is impossible to smooth the normals correctly.

You may want to double check the smoothing groups in your modelling app. Another reason why this can happen is when using "Calculate" in the import settings of the model. You can verify this by checking the vertex count for the specific mesh asset after clicking "Apply". Unity will rebuild the mesh based on the selected smoothing angle which will result in a different number of vertices. Another way to check the normal groups is by opening the custom prefab in the Custom Prefab editor window and select the specific connection from the dropdown. The number of normal groups will be listed in the stats window. For exact normal group info you can open the UV editor window and select each node one by one. When the "Hard Edge" checkbox is on a new normal group will start at this node. This is all according the geometry structure of the source mesh.

 

Indent values cannot be set below a certain value

The minimum indent values are based on the terrains heightmapscale (size vs heightmap resolution). It is required to ensure the best possible terrain deformation according the road shape because the Unity terrain object does not accept additional points for more detail in certain areas. When using lower values the terrain will pop through the road or the road will float above the terrain. The bigger the heightmapscale the higher the Min Indent values.

The default values for each marker match the globally stored Min Indent values in General Settings > Scene Settings.

So if these Min Indent values are high in your project, this is probably due to your terrain settings.

 

New Markers do not snap to the terrain

This can happen on large cam zooms further away then 5000 units from the click point. This is unlikely to happen but if it happens it will result in markers floating far above the terrain. In that case, please zoom in a little bit more to the terrain.

 

The Inspector toolbar is not displayed

This is most likely due to the Inspector being in Debug Mode. Click the down arrow (next to the lock icon) at the top right in the Inspector and make sure that "Normal" is selected. Additionally users have reported that working with two Inspector panels with one in debug mode does effect the Scene View functionality. Please avoid doing this if you experience similar behaviour and use one Inspector panel only, this is according the default unity settings.

 

The Unity editor is unresponsive or slow after road changes

This can be a result of "Auto" being selected in the Unity Lighting window. The lighting will be recalculated consistently in the background which can cause delays on slower computers. Switching off "Auto" temporarily while working on the road network will fix that.

A slowdown of the Unity editor can also be noticeable on very long road sections with no crossings. Please try to Insert I Connectors at intervals. This is also better for runtime performance.

 

Build Terrain progressbar doesn't update

Unity progressbars can only be used and updated through editor scripts. Because the Build functionality is also required for the scripting API, this code currently does not run in an editor script hence why the progressbar only updates per terrain and does not show progress on processed roads. This will be improved, meanwhile please be patient during this process, work is being done in the background.

 

Dual Sided Side Objects appear flipped

This happens when the "Combine" option is toggled on. For now please avoid this.

 

Tunnel terrain hole issues

Cutting holes in the terrain for tunnels is complex for various reasons, especially regarding all possible terrain specificatione specially heightmap resolution related. One known issue is transitions between bridge to tunnel sections, especially on lower heightmap resolutions. This can result in wrong terrain cells being removed and terrain cells styll being visible at the start near the road height.

Cutting holes in the terrain is in Preview state, feedback is very much appreciated.

 

Our Custom Connection models are not visible in runtime generated road networks

This happens when the original models used for the Custom Connection does not have "Read/Write Enabled" enabled in the Import settings. Make sure to enable this before creating the custom connection prefab when the road networks are build at runtime instead of in the Unity editor.

 

The Transform Gizmo for the selected marker is hard to control

The Transform gizmo has two alignment options, horizontal and in the direction of the road. Horizontal is what generally is used, in the direction of the road can be useful in hilly areas. The W key toggles between the two options.

Especially when the road marker is near other markers with considerable height differences this can make the marker less controllable because the Gizmo attempts to align with the road direction. In that case the W key can be used to toggle to horizontal alignment.

 

Changing the terrain heightmap resolution

Please make changes to the terrain heightmap resolution with the road network in Edit Mode. When doing this in Build Mode the stored original terrain data will no longer match the respective area and switching back to Edit Mode afterwards will have unexpected results.

 

Error /warning after package import

Timeout while updating assemblies:Assets/EasyRoads3D/Editor/EasyRoads3Dv3Editor.dll (Output: C:\Users\abc\AppData\Local\Temp\tmp660e503d.tmp)
Assets/EasyRoads3D/lib/EasyRoads3Dv3.dll (Output: C:\Users\abc\AppData\Local\Temp\tmp2812674f.tmp)
Assets/EasyRoads3D/lib/DelaunayER.dll (Output: C:\Users\abc\AppData\Local\Temp\tmp6423d88a.tmp)

This can happen, it is package import related and most likely harmless. To check if the package imported well, please check the demo scene, select the road network object in the hierarchy. Is the EasyRoads3D toolbar visible in the Inspector? Is the road network responsive. If this is not the case, please restart Unity. The package should be correctly imported, contact us if you still get this error.