Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

World Building EasyRoads3D v3 - the upcoming new road system

Discussion in 'Tools In Progress' started by raoul, Feb 19, 2014.

  1. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi malkere,

    V3 includes a scripting API that can be used both at runtime as in the Unity editor.

    V3 does not include a dedicated river object but it can be simulated using side objects, the main scene in the beta package includes an example. To use this through the API you create a new object using the river "Road Type" in the Unity editor. This is a preset with Side Object toggled on (no road will be created) and both the river surface and riverbed side objects active. You can now create a new instance of this object through the API and assign markers positions.

    Currently you do not have control over the shape (width variation per marker) through the API yet, is that important. This will be added anyway.

    Thanks,
    Raoul
     
  2. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    Thank you for the reply. I will try playing with the free version this weekend just to get a feel of things.
    Being able to control width would certainly be a big plus, but not a necessity.
    So through the API the automatic mesh/UV and river surface would be generated following the marker curve, yes? By no dedicated river object you mean the surface mesh and riverbed displacer? In other words the shape of the surface and the riverbed would be based on whatever shape is input and then skewed along the marker curve?
     
  3. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    The free version is still v2. V3 is an entirely new road system, different workflow, many new features.

    Yes, the river will be generated according the spline curve based on the marker control points.

    V2, has a dedicated river object which is easy to setup but you have less control over the river bed shape. In v3 you have to set all this up although the beta comes with an example, but indeed by using the Shape type of side object in v2 you can add detail to the river bed shape.

    Thanks,
    Raoul
     
    malkere likes this.
  4. ilusomu

    ilusomu

    Joined:
    May 28, 2015
    Posts:
    24
    Hi! Wanted to give v3 a go. I added ER Base to an empty game object in my scene and the component doesn't load. I get this error in my console:

    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.GUIContent.Temp (UnityEngine.Texture[] images) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUIContent.cs:136)
    UnityEngine.GUILayout.Toolbar (Int32 selected, UnityEngine.Texture[] images, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:146)
    EasyRoads3Dv3Editor.OQQCOOCCDO.OnInspectorGUI ()
    Not sure what the fix is.
     
  5. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi ilusomu,

    That won't work well.

    Top Menu > GameObject > 3D Object > EasyRoads3D v3 > New Road Network

    http://unityterraintools.com/EasyRoads3D/v3/html/quick_start.html :)

    Thanks,
    Raoul
     
  6. EDSOLO

    EDSOLO

    Joined:
    May 31, 2013
    Posts:
    9
    Hi Raoul I purchased Easy Roads a few days ago its fantastic :). one problem i'm having is that i'm using the latest beta of Unity 5.4.0b21. And when I make a fresh project with a terrain and a New Road Network from the (EasyRoads Beta V3 7.7.2) the road dose not seem to attach to the terrain. ie the terrain wont deform to the road shape.

    I have noticed that the ER V3 Demo Scenes do deform the terrain and works fine when i create a new road on the Demo terrain.

    Many Thanks Ed.
     
  7. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi EDSOLO,

    Thank you, glad to hear you like it! :)

    So far I have not seen any issues particularly related to Unity 5.4

    Could you select a road and double check if "Terrain Deformation" in the Inspector is toggled on?

    Thanks,
    Raoul
     
  8. EDSOLO

    EDSOLO

    Joined:
    May 31, 2013
    Posts:
    9
    Thanks Raoul for the quick reply that worked great :)

    Greetz Ed.
     
    raoul likes this.
  9. crysty1338

    crysty1338

    Joined:
    Jun 12, 2016
    Posts:
    2
    Hey Raoul, if I buy your package, will it work with the free version of Unity?
    Ty ;)
     
  10. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi crysty1338,

    Yes everything work with the free version of Unity :)

    Thanks,
    Raoul
     
  11. f1b0n4cc1

    f1b0n4cc1

    Joined:
    Aug 27, 2015
    Posts:
    38
    i learn how to adjust road size and connection objects . Thanks for your suggestion and sorry for late reply.

    I am building big city roads with a lot of connections . On my previous try , after city get complex , it started to give me error for 65000 limits etc ( i dont fully remember ) , maybe stockoverflow error.

    So i decided to make roads and connection , than build new road system and connect one road system to another by a road .

    But now i cant create second road network. When i click " New Road Network" as usual , nothing happen . there is not 2. road network or error in console.

    Please note , i am doing my project for mobile platform , android.

    Making big city with a lot of building is something impossible for android game or it is okay to continue ?

    I wish to get suggestion from you for mobile game developers who use easyroads3d .

    sometimes i am getting 512x512 errors etc. Anyway i continue building new roads and connecting with connection objects .

    Thank you for your reply and support
     
  12. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi f1b0n4cc1m,

    A scene can only have one road network.

    That 65.000 limit is related to Unity's mesh limitations, it is not a stackoverflow error. This is optimized for side objects, as soon as that 65.000 vertex limit is reached, multiple mesh objects will be created. For roads this is not yet the case. Generally the road will already be split in multiple objects by inserting crossings. To which object is the 65.000 vertex limit warning related?

    Regarding optimization for mobile? The road objects are ordinary game objects. Several options to optimize the roads, geometry resolution, using low angle thresholds, are available in the Inspector (also for road types).

    Can you give more info 0n the 512x512 error? What is the full error, when exactly do you get this? And how does it affect the road network?

    Thanks,
    Raoul
     
  13. f1b0n4cc1

    f1b0n4cc1

    Joined:
    Aug 27, 2015
    Posts:
    38
    Requested resolution was clamped to maximum system size (512x512) on mesh ''.

    update : when i delete connections and add again , it is working

    Another error :

    StackOverflowException
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collections.Generic.List`1 markers, Single faceDist, Boolean ignorePrefabAlignment, System.Collections.Generic.List`1& tValues, System.Collections.Generic.List`1& markerDistances, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERModularRoad.OQDDQQDQCC (Boolean ignorePrefabAlignment, Boolean forceAutoRotate)
    EasyRoads3Dv3.ERCrossingPrefabs.DeformTCossingConnection (Int32 elInt, Single distance, Single defaultDistance, System.Collections.Generic.List`1 controlPoints, Single multiplyFactor, Single angle, Vector3 cpCenterPoint, Single curveStrength)
    EasyRoads3Dv3.OCOQDOOOCD.OQOQCCQOOO (EasyRoads3Dv3.ERModularRoad roadScr, System.Collections.Generic.List`1& tmpNodes, System.Collections.Generic.List`1 splineStrength, EasyRoads3Dv3.ERCrossingPrefabs prefabInstance, Int32 connectionSegment, UnityEngine.Vector3& connectionDir, Int32 startEnd)
    EasyRoads3Dv3.ERModularRoad.OQOQCODDOO (System.Collec<message truncated>
     

    Attached Files:

    Last edited: Jun 13, 2016
  14. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi f1b0n4cc1m,

    I have seen the first warning, "Requested resolution was clamped to maximum system size (512x512) on mesh", before. When you search on it there are some other people reporting this in general, not specifically EasyRoads3D related. I have not yet found out what causes this, but it doesn't really seem to have an affect on the generated objects.

    Regarding the StackOverflowException, that is a single repetitive error. It is very hard to figure out what causes an error just by looking at the error itself, hence my previous questions, when exactly do you get this? How can I reproduce it? And which version are you using?

    Thanks,
    Raoul
     
  15. f1b0n4cc1

    f1b0n4cc1

    Joined:
    Aug 27, 2015
    Posts:
    38
    as i showed on 2. picture , it happend when i extend road from a connection , and extend another road from another connection . Than when i try to join roads by selecting two markers from roads and hit "join selected roads" .

    It gave this errror . Anyway , i deleted connections and build again , this time it works.

    Currently i am using easyroads3d without any problem . Thank you for your kind support ,

    Easyroads3d 7.7.2 on unity 5.35f1 , windows 10 x64
     
  16. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Yes, I can see it is related to crossing prefabs, T crossings in particular. Thank you for the additional info.

    I tried this in 7.7.2, added two T crossings to the scene and extended roads from all connections, afterwards I joined these roads, testing all possible combinations. This seems to work fine.

    Did you have a previous version imported in this project and were those connections that caused issues created with that version? And are these the default T crossings part of the package?

    I am asking this because beta 7.7.1 had an issue with pulling out roads from customized dynamic crossings (Not with default settings). Perhaps your issue is related to that?

    Anyway, it would be very much appreciated if you could let me know when this happens again.

    Thanks,
    Raoul
     
  17. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    hi raoul,

    whenever I drag a marker out from the aforementioned custom intersection the newly created road is named "default [number]" and cannot be joined with the road that this intersection was made for.
    However I can easily drag the marker of the intended road onto the custom intersection marker and it will snap.
    What am I missing here?
     
  18. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Marco,

    When you pull out new roads from a connection, the road name should be based on the associated road type with a number added. Since this is about custom intersections, are you creating new road types for the respective connections in the Custom Prefab window? You can see this naming of roads in the main demo scene for the train rails and the highway overpasses.

    What exactly do you mean with this? Is this what I mentioned above? You created a new road type for the custom connection. Then you created a new road instance using this road type through the second tab from the left. And this road cannot be connected with a road pulled out from the connection?

    Or, is the "intended" road perhaps a road that is not yet connected to a crossing and does the geometry layout of this road not match the geometry of the other road? That would explain the situation you described. Roads that do not match cannot be joined while roads that are not connected to a crossing yet can be attached to any crossing resulting in the geometry updating to the geometry of the connection.

    Thanks,
    Raoul
     
  19. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    At first I wasn't doing that. I was creating the new road type in the inspector of the road network itself (general settings). In the custom prefab window there was no road type available to select (though I'd expect the road type created in the general settings to be selectable here). So this is where the default road type was probably coming from.

    When I finally decided to "redo" the road type in the custom prefab window (by simply adding a new road type to that list and naming it the same as the already existing custom road type) and applying it to the connections all roads dragged out from the intersection were named correctly.

    However, those roads cannot be joined with the road types created in the general settings tab. They seem to differ from each other.
     
  20. Zireael07

    Zireael07

    Joined:
    Apr 27, 2016
    Posts:
    47
    The free version from the site has problems - I had to manually add #IF UNITY_EDITOR to the SideObjectInit.cs to be able to build. Just a heads-up :)
     
  21. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    I just tested this in the main demo scene with the overpass connections. Indeed "Join Selected Roads" is not activated when creating one of the two roads through the Inspector. When pulling out both roads from the connection in Scene View it is activated. I will fix that, but could you check this on your end just to make sure that we are, most likely, looking at a similar situation?

    Thanks,
    Raoul
     
  22. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Zirealel07,

    Yes, that was also an issue in the asset store version. I will update the website download. :)

    Notice that the free version is still v2. This is the v3 thread, v3 is an entirely different road system.

    Thanks,
    Raoul
     
    Last edited: Jun 13, 2016
  23. Zireael07

    Zireael07

    Joined:
    Apr 27, 2016
    Posts:
    47
    Yes I know, but as free v3 hasn't happened yet, I am still stuck with v2 :(
    Thank you :)
     
  24. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Ok :) I just mentioned it because v2 looks totally different than the videos / images in this thread.

    Thasnks,
    Raoul
     
  25. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Confirmed. That's what we experienced. What we would like to see: road types created via inspector should be selectable in the drop down menu (where you define the connections) of the custom prefab editor and vice versa.
     
    Last edited: Jun 14, 2016
  26. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Marco,

    Yes, I think that is what you wrote yesterday. What about the second part?

    This is to make sure that we are looking at the same issue and not, for example, something related to your specific custom connection mesh.

    This would mean that the geometry structure of the selected road type will update, this could potentially mess up road types if you accidentally select the wrong road type. It will be added after Undo is implemented for this part.

    Meanwhile you can do what you did yesterday, simply create the road type in the Custom Prefab editor.

    Thanks,
    Raoul
     
  27. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    "When pulling out both roads from the connection in Scene View it is activated" - yes, in this case joining these two roads is possible. Because both road types get determined by the connection I would think. And if both connections share the same road type all is fine.
     
  28. mantekkerz

    mantekkerz

    Joined:
    Dec 24, 2013
    Posts:
    111
    @raoul having some trouble with Z fighting, I've set my road to adjust my terrain, but in some areas the terrain is poking through. I see a "Raise road height" option in the manual, but doesn't seem to be available in my Build to terrain tab. Any advice? Thanks.
     
  29. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Marco,

    The "Join Selected Roads" option is activated when both the road type match and the number of nodes that define the shape.

    I just check this in the main demo scene which has road types set for the highway overpasses and the train rail crossing. The "Join Selected Roads" option is actually activated.

    As mentioned before the roads are initially named after the specific road type plus a number. Is that the case? And does only one road type with this name exist?

    You can also double check the road type (or change the road type) of connections by opening the Custom Prefab Editor window and dragging the custom prefab (/Assets/EasyRoads3D/Resources/custom prefabs/) on the canvas. After selecting a connection from the connections dropdown, the currently associated road type will be selected in the Road Type dropdown.

    Does all this look good? If so, could you send me the specific crossing model so I can look at it on my end?

    Thanks,
    Raoul
     
  30. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi MattMurphy,

    V3 does not have a "Raise road height" option, is this v2?

    V3 has a similar "Raise Road Network" option in Build Mode at the top in the Inspector.

    The terrain poking through the road can also be caused by reasonably curvy roads in hilly areas. This can happen when the terrains heightmap scale (size vs heightmap resolution) is too high, there simply are not enough terrain points available to exactly match the terrain shape with the road shape. This is also mentioned in the Troubleshooting section of the manual. Depending on the situation there are workaronds using terrain mesh overlays in these areas.

    Thanks,
    Raoul
     
    mantekkerz likes this.
  31. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Hi raoul,

    there are 2 road types of the same name after what I did. Opening the "Manage Project Road Types" reveals 2 identical named types. This is due to the issue mentioned above. But I'll describe again:

    1) I created the road type to be used for our project under the general settings tab
    2) This road type was not available for connections of custom prefabs
    3) In turn I created a new road type in the custom prefab editor of the same name as in step 1)

    In the scene hierarchy these road types are named almost identical with but one difference: the numbering of the inspector created road type has more leading Zeros than that of the road type created in the custom prefab editor.
    These road types now conflict with each other.
    I can join both road types to the connection.
    When I draw out a road starting from the connection, the road type from the custom prefab editor gets used.
    I cannot join both road types - this is somewhat to be expected.

    This whole confusion starts with the managing and adding of road types in the general settings. If you do that and expect to be able to select one of these road types in your custom prefab editor you will be facing this issue: there simply is none of your road types selectable. You have to create them in there.

    I hope this helps. Please contact me for a skype session if there are still questions on your end - writing takes too much of my time.
     
  32. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Maco,

    So you have several road types with the same name? Did you try all these road types? Or rename one first so you can easily check in the Custom Prefab Editor window to which of these two road types the specific connection points.

    I already mentioned yesterday that populating the Road Type dropdown in the Custom Prefab Editor with exisiting / non matching road types is not a good idea at this stage. The idea here is to show the matching road types. If there is no match, indeed simply create a new road type in that window.

    Thanks,
    Raoul
     
  33. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Will do that, raoul. I will inform my co-worker about this workaround. Since we are still in the workflow finding phase with ER this issue was not breaking anything of importance.

    Edit:
    Renaming the inspector created road type under general settings confirms what I wrote earlier:
    Inspector roads are created with 4 digits following their type name.
    Custom prefab roads are created with 3 digits following their type name.
    I can join both roads to the crossing by dragging their marker to that connection. But the roads created when dragging out from the connection are the 3-digit-roads.
     
  34. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722

    Hi Marco,

    The digits are irrelevant (I will look at that though and make sure to always use 4 digits). I was only asking for the base name as it points to the road type name. But if you have two road types with this name, it could be that the roads actually do not share the same road type hence my previous post to make sure road types have unique names.

    If you want you can send me the model to elimiate possible issues.

    Yes, this seems to be a small issue which can be workaround in several ways but still it would be good to know what exactly goes wrong.

    Thanks,
    Raoul
     
  35. crysty1338

    crysty1338

    Joined:
    Jun 12, 2016
    Posts:
    2
    Hey Raoul, I have 1 problem. When a build a road bridge the car falls through the road even the road has a mesh collider. What could be the problem?
     
  36. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722

    Hi crysty1338,

    What exactly is the situation? Is the bridge build using side objects? If so, how can the car suddenly fall through the road itself which is another object? What happens without the bridge side object?

    Or do you mean the car doesn't collide with the bridge sides? In that case, can you check the status of: Side Object Manager > Select the bridge side object > Add meshCollider

    Thanks,
    Raoul
     
  37. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Hi raoul,

    in your video tutorial Customizing Road Networks Part 2 you are showing how to add rail road signals to a crossing prefab before instantiating it via ER.
    How do we actually modify a crossing prefab after we have placed a couple of them so that the changes made to the prefab propagate into the crossings already in use?


    Which folder or files do we have to commit to our SVN in order to keep road types consistent between me and my colleague?

    Cheers,
    Marco
     
    Last edited: Jun 16, 2016
  38. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722

    Hi Marco,

    Every instance of a prefab in the scene is unique because instance specific normals etc. are adjusted to the connected road. So at this moment additional props like signals should be added to the crossing prefab after preparing it for EasyRoads3D in the Custom prefab Editor and before instantiating them in the scene.

    What you are asking will be possible in a future version because all instances still share the same prefab ID. One of the things this will be used for is updating existing instances in the scene after changes to the prefab in the assets folder.

    Road types are stored/updated in the scene file and also in /Assets/EasyRoads3D/Resources/ERSideObjectsLog so they can be reused across scenes and projects. This asset also includes side object info.

    Thanks,
    Raoul
     
    Marco-Sperling likes this.
  39. frankmat

    frankmat

    Joined:
    Sep 14, 2013
    Posts:
    42
    Hi,

    I have bought and am using the Beta version... and trying to use the API to create roads.

    I can create a road without an issue... as below. But how do I create an intersection programattically and attach it to this road? I've taken a look at the API classes but can't find it... and there is no demo to show you.

    Code (CSharp):
    1. roadNetwork = new ERRoadNetwork();
    2. roadType.roadMaterial = Resources.Load("Materials/roads/single lane") as Material;
    3.  
    4. roadType.roadWidth = 6;
    5.  
    6. ERRoadType roadType = new ERRoadType();
    7.  
    8. Vector3[] markers = new Vector3[2];
    9.  
    10. markers[0] = new Vector3(200, 0.2f, 200);
    11.  
    12. markers[1] = new Vector3(250, 0.2f, 200);
    13.  
    14. road = roadNetwork.CreateRoad("My Road 1", roadType, markers);
    15.  
    16. roadNetwork.BuildRoadNetwork();
     
  40. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Frankmat,

    The runtime API demo scene indeed only creates a road.

    You can do something like this

    Code (csharp):
    1.  
    2. ERConnection  sourceConnection = roadNetwork.GetSourceConnectionByName(string name);
    3. // ERConnections InstantiateConnection(ERConnection sourceConnection, string name, Vector3 position, Vector3 euler)
    4. ERConnection connection = roadNetwork.InstantiateConnection(sourceConnection , "crossing", new Vector3(500,0,500), new Vector3(0, 45, 0));
    5. road.ConnectToStart(connection , 1);
    6.  
    7. // or attach the connection directly to the start of the road without first instantiating it
    8. ERConnection connection = road.AttachToStart(sourceConnection , 1)
    9.  
    http://unityterraintools.com/EasyRoads3D/v3/html/ERRoadNetwork.html
    http://unityterraintools.com/EasyRoads3D/v3/html/ERRoad.html
    http://unityterraintools.com/EasyRoads3D/v3/html/ERConnection.html

    The scritping API is currently implemented upon requests. Releasing v3,0 has priority at the moment but eventually most of the editor functionality will be available in through the API as well. If you are missing something please let me know.

    Thanks,
    Raoul
     
  41. frankmat

    frankmat

    Joined:
    Sep 14, 2013
    Posts:
    42
    Great thanks. I didn't realise the API implementation wasn't complete.

    Does that mean you aren't able to assign things like lightpoles, fences etc after creating the road?
     
  42. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Editing side objects along a track is one of the things not yet added to the API. But you can assign side objects to road types, that way you can create lightpoles, fences, etc. instantly.

    Thanks,
    Raoul
     
  43. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Here is a quick screenshot from a scene we're building with EasyRoads3D Pro and Landscape Builder. We've set the road to "Follow Terrain Contours" and the fence is an ER "Procedural Mesh Object" created using 3DForge assets. The fence side object is set to "Snap To Terrain" with a "Terrain Alignment" of "Path Forward". In LB we've used the ER-LB integration to texture the verge of the road. Then we've used a LB area filter to texture, and place trees etc. around the farm house.

    FarmHouse2.png
     
  44. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Stephen,

    Great screenshot!

    I was wondering, Let's say you create a road in a hilly area and it breaks through the terrain, resulting in terrain deformation with steep edges. Can this "LB area filter to texture" automatically re texture that area with for example a rock texture for the steep area specifically? If that makes sense :) otherwise I will provide a screenshot.

    This is on the list to implement but it would be good to know if LB already can do that.

    Thanks,
    Raoul
     
  45. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    I think LB can do that with a Height, Inclination and Map. But pls provide a mock up screen shot and we'll give it a try. The LB Standard terrain shader would also take care of stretched texture tiling too. Or you could use RTP or similar.
     
  46. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    I meant something like below where, indeed based on the new terrain slope after terrain deformation. Rock/dirt replaces the grass in the marked area



    Thanks,
    Raoul
     
    Last edited: Jun 23, 2016
  47. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Hi Raoul,
    are your shaders capable of receiving projections from Unity projectors?
     
  48. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Marco,

    All that is added to the shader is Offset X, X to deal with z-fighting.

    Although that shouldn't stop the shader from receiving projections, this offset is probably what is causing the problem. Can you try adding that same line of code to the shader on your projection material?

    I actually just got a similar question about blob shadows an hour ago by email from another user.

    Thanks,
    Raoul

    btw. Updating child objects on crossing prefab scene instances after changes to the source prefab in the assets folder (your question last week) will be available in the next update.
     
    Marco-Sperling likes this.
  49. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Offset -4, -1 on the projector shader seems to do the trick.
    Now I have to figure out another projector related issue - I either see the whole frustum intersection colored with the main color or I don't see anything at all. Wish this stuff would work out of the box just once, Unity.
     
  50. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Glad to hear you got that resolved.

    Just to be sure about the second part (because of your comment at the end) this doesn't seem to be specifically EasyRoads3D shader related. Otherwise please let me know.

    Thanks,
    Raoul