Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. 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,613
    Hello BlueAndPurple,

    This message appears when an URP project is detected and when the specific package could not be imported.

    Do you see pink road materials? This would mean that the URP package indeed could not be imported.

    The URP and HDRP packages are located in

    /Assets/EasyRoads3D/SRP Support Packages/

    Can you check this folder? Are these packages indeed missing? As can be seen in the contents section on the asset store pages, these packages should be part of the import. Or are you perhaps using the v3.3 beta?

    Thanks,
    Raoul
     
    Last edited: Feb 9, 2022
  2. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi GamePyro-com,

    Sorry, I missed your last post on the previous page.

    If you scroll back through the pages, you will see that this is not something that is brought up very often. We generally follow the feedback on the survey on our website for the continuous development of the tool.

    As mentioned, these sharp edges is a result of the Unity terrain heightmap and the steep angle after adjusting the terrain to the road shape.

    Two things have been implemented so far to deal with this. Last year v3.2 was released with auto generated side objects like for example these typical retaining walls in real world situations. I am sure I have mentioned that in the past related to this topic. And also new is this Angle Threshold option I mentioned on the previous page. So things already have been done here.

    If you want you can send your project (link by email) so I can see how this works in your scene because I cannot recreate the situation you mention with the Angle Threshold value. It accepts any value between 30 and 90.

    Thanks,
    Raoul
     
  3. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hey @raoul ,

    Is there anything I can check when entering build mode, BEFORE beeing actually in build mode and anything got executet yet?

    I want to execute code, when the player hits the "Build Terrains" button, that gets executet even before anything is done by ER.

    Thanks ;)
     
    Last edited: Feb 12, 2022
  4. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi Marcell,

    I assume this runtime and API related?

    "before anything is done", that is currently not possible contrary to when updating both the terrain and the final road network is finished. But I can look into adding this as well. Or, isn't your script calling BuildRoadNetwork() which starts the update?

    Thanks,
    Raoul
     
  5. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hi raoul,
    yes this is api related. So you said instead of pressing the build terrains button I could do BuildRoadNetwork(). Well it would do the job, if I build the terrain by calling this method and execute my code before. But adding such a callback would be nice aswell.

    Thanks ;)
     
  6. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hey raoul,
    uh, how do I call BuildRoadNetwork()? it looks like I need a reference to ERRoadNetwork? But how do I get my road network?

    thanks
     
  7. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi Marcell,

    ERRoadNetwork roadNetwork = new ERRoadNetwork();

    This will create a reference to the road network object in the scene in the Unity editor when this object already exists.

    But I will add a callback as well.
     
    Last edited: Feb 13, 2022
    marcell123455 likes this.
  8. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hi raoul,

    When I execute roadNetwork.Refresh()is there a callback or something that allows me to check if all sideobject have been regenerated again? and its done refreshing?

    thanks
     
  9. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613

    Not after roadnetwork.Refresh, this can be added. There is a callback option for when a road object was update. The same for individual side objects.

    Thanks,
    Raoul
     
    marcell123455 likes this.
  10. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hi raoul,

    I guess I have an actual issue. I created a custom Intersection and as road type for this connection I choose the first in the list I created. When I pull the road out of the connection end, it is not the selected road typ. It is like the default road type but with the material of my selected road type. When I then switch the road type of the road to any other road type and place the second marker I get errors.

    NullReferenceException: Object reference not set to an instance of an object
    EasyRoads3Dv3.OOCCDCCQCD.ODOOOOCQCO (EasyRoads3Dv3.ERModularRoad scr, EasyRoads3Dv3.SideObject so, System.Int32 marker, System.Single& startOffset, System.Single& endOffset, EasyRoads3Dv3.ERSOMarkerExt& soMarker, System.Boolean mirrored) (at <bccd8f1288794f088ce7000672ff9a38>:0)
    EasyRoads3Dv3.OOCCDCCQCD.ODCODOQCDC (UnityEngine.GameObject go, EasyRoads3Dv3.SideObject so, EasyRoads3Dv3.ERModularRoad roadScr, EasyRoads3Dv3.ERSORoadExt soData, System.Boolean mirrored, System.Boolean isChild) (at <bccd8f1288794f088ce7000672ff9a38>:0)
    EasyRoads3Dv3.OOCCDCCQCD.OOCCOQCOQO (EasyRoads3Dv3.ERModularBase scr, EasyRoads3Dv3.ERModularRoad roadScr, EasyRoads3Dv3.SideObject so, System.Boolean isParent) (at <bccd8f1288794f088ce7000672ff9a38>:0)
    EasyRoads3Dv3.OOCCDCCQCD.OCQQOQCDQO (EasyRoads3Dv3.ERModularBase scr, EasyRoads3Dv3.ERModularRoad roadScr, System.Boolean isSideObjectFlag) (at <bccd8f1288794f088ce7000672ff9a38>:0)
    EasyRoads3Dv3Editor.OOODDOQDOC.UpdateSideObjectsInScene (EasyRoads3Dv3.ERModularBase scr) (at <f436446019554ab1a61dfadaf00869e7>:0)
    EasyRoads3Dv3Editor.OCDQCOCQOD.OnSceneGUI () (at <f436446019554ab1a61dfadaf00869e7>:0)
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    UnityEditor.SceneView.CallOnSceneGUI () (at <2cd7ebc9c2ef4276a8edbc7de85c89ce>:0)
    UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at <2cd7ebc9c2ef4276a8edbc7de85c89ce>:0)
    UnityEditor.SceneView.OnGUI () (at <2cd7ebc9c2ef4276a8edbc7de85c89ce>:0)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at <2cd7ebc9c2ef4276a8edbc7de85c89ce>:0)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at <2cd7ebc9c2ef4276a8edbc7de85c89ce>:0)
    UnityEditor.DockArea.OldOnGUI () (at <2cd7ebc9c2ef4276a8edbc7de85c89ce>:0)
    UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.EventDispatchUtilities.PropagateEvent (UnityEngine.UIElements.EventBase evt) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.MouseEventDispatchingStrategy.SendEventToRegularTarget (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.MouseEventDispatchingStrategy.SendEventToTarget (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.MouseEventDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel iPanel) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.EventDispatcher.OpenGate () (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <4c8a9874288b4fb78fa7fdbcd8065b00>:0)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <00a477ed1abf4030be646c3244bd3667>:0)

    any idea?
     
  11. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi Marcell,

    All I can see is that it is side object related. I assume the road type you selected has perhaps side objects auto activated? Can a new road object using that road type be created without similar errors?

    But the exact workflow is not entirely clear, I don't know if that is related. How can a road be pulled out from a connection and, change the road type, and than add the second marker? There should already be two markers after pulling out the new road.

    Thanks,
    Raoul
     
  12. GamePyro-com

    GamePyro-com

    Joined:
    Jul 28, 2018
    Posts:
    197
    thank you yes it work between 30 and 90 but not fixes the problem

    No easy way let Easyroad Smooth that at Terrain because smooth whole terrain then much details get lost.

    Because when automatic generate terrain and Roads need this smooth automatic from Easyroads because it builds the terrain or have you an Script? or so?
     
  13. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hi raoul,

    Ok sorry. Yes, the road type has auto side objects enabled and if a standalone road with the same road type gets created it has no issues. I meant pulling out the road from a dot of a connection prefab and changing the road type in the menu. And ok right, if its pulled out it already has two nodes, what I meant was after placing the third node the error appears.

    Maybe it noticable to say that the name of the created road, that get´s pulled out, is indeed named as the road type I actually selected. It seems to get triggered when I have a node of this road selected and press the right mouse button in the scene view to look arround. When releasing the richt mouse button the gizmos of the road show up again and the error gets thrown again. When disabling gizmos in the editor it does not throw the error. Gizmo related?

    Thanks
     
    Last edited: Feb 13, 2022
  14. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hey raoul,

    I also have another question: When I set the inspector to debug mode and look at the Road Networks ERModularBase script it has a Road Types list. I could move the entrys up or down. I assume this affects the display order in the dropdown before creating a new road for example? My question is, would I break something when I change the order of the entrys?

    thanks
     
  15. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi Marcell,

    Messing with scripts in debug mode is at your own risk and certainly is not recommended ;)

    In this case, I don't think changing the order of road types is a problem since internally the unique road type id is used. But you may want to deselect / reselect the road network object afterwards.

    Thanks,
    Raul
     
    marcell123455 likes this.
  16. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613

    Hi GamePyro-com,

    I think everything has been said on this topic. To resume, the image on the previous page shows a road on a steep hill. These terrain edges are a direct result of the terrain steepness and the heightmap based nature of the Unity terrain object. When smoothening the terrain manually using the terrain tools it will also affect the terrain at the road level. The road will start to float a little bit above the terrain. So something similar as a built-in solution in the tool is not really an option.

    The current solutions for these situations are 1) use auto generated retaining walls to preserve these steep edges just at the road edges, there is no other way to do that due to this heightmap based nature of the terrain object, 2) decrease the terrain angle by using this Angle Threshold option. You write that this doesn't work for you but there are no details, does it not work at all? Does it not give the desired results, pointing to 1)? As mentioned, if you want you can email the scene and we can look at it.

    The one things that is still on the list here is, level the terrain further away at the same height as the road and apply the smoothening to that area.

    Thanks,
    Raoul
     
  17. skarmokar

    skarmokar

    Joined:
    Sep 11, 2012
    Posts:
    4
    Hi Raoul,

    When I connect two different roads using IConnector at runtime, Meshrenderer, mesh filter, and mesh collider components for IConnector gameobject are not generated. Also, I cannot blend the material for IConnector at runtime.

    RoadIssues.JPG

    Is their any function to update IConnector mesh at runtime?

    Can you give an example to connect two roads using IConnector with transition type as blend textures?

    Thank you,
     

    Attached Files:

  18. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi skarmokar,

    Which version do you use?

    API runtime options for these more advanced I Connectors were recently requested and have been added to the ERConnection class:

    public void IConnectorTransition(ERIConnectorTransitionType type)
    public void IConnectorTransition(ERIConnectorTransitionType type, ERIConnectorTransitionSection section)
    public void IConnectorTransition(ERIConnectorTransitionType type, ERIConnectorTransitionSection section, float distance, Material mat)
    public void IConnectorTransitionDistance(float distance)
    public void IConnectorTransitionMaterial(Material mat)

    Thanks,
    Raoul
     
  19. matchbox

    matchbox

    Joined:
    Jun 14, 2016
    Posts:
    30
    Hey @raoul ,

    how can I regenerate the vegetation mask lines for VSP after I changed the road spline because the vegetation mask line doesn't fit the road anymore after I mode the roadspline.

    Hope there is an easy way to regenerate them..
    Thanks,
    Marco


    upload_2022-2-14_23-20-34.png
     
    Last edited: Feb 14, 2022
  20. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi @matchbox,

    The vegetation mask line should update automatically to road changes when moving road markers. Do you see error messages in the console?

    Just as a test, does switching between "Vegetation Mask Line" and "Biome Mask Area" further below in the Inspector regenerate the vegetation mask line correctly for the selected road object? And otherwise, the same for switching off/on the active state of VSP in Terrain Management in the general settings?

    Thanks,
    Raoul
     
  21. matchbox

    matchbox

    Joined:
    Jun 14, 2016
    Posts:
    30
    Hey @raoul ,

    I did some more testing, but nothing of your advices changes anything. Also I created a new road for testing in the same scene which worked nice, but the new road has also no Vegetation Mask Component added.
    I did a lot of testing the last days with EasyRoad and played a lot with the features like side objects, etc.. so unfortunately I cant tell you since when it is not working anymore. Just noticed it yesterday when I recognized that masking in some parts of the road didnt work well anymore and then I found out that the Vegetation Mask object is not fitting anymore. Any ideas how to fix this?

    Thanks,
    Marco
     
  22. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi @matchbox,

    The only known issue with Vegetation Studio in the past was that when starting a new scene in the same Unity session Vegetation Studio was not detected which resulted in the Vegetation Studio scripts not being called. This can result in what is happening in your scene. Restarting Unity solved this and this should not longer be a problem in recent versions.

    The Vegetation Studio related calls are in the ERVegetationStudio.cs file in /Assets/EasyRoads3D/Scripts/. Do you do coding? You could check if these calls are actually executed, in this case specifically in UpdateVegetationMaskLine()

    Thanks,
    Raoul
     
  23. matchbox

    matchbox

    Joined:
    Jun 14, 2016
    Posts:
    30
    Thanks for you help, I returned to a previous state in the version control system and its working now, but I cant tell you what I did wrong before or what triggered the error.
    Thanks for you help anyway! I really love EasyRoads and using it in our current project.. so probably I will return with more questions in the future.. ;)

    Best regards,
    Marco
     
    raoul likes this.
  24. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Ok, let me know if this returns. You can always send us a small project by email so we can look at it on our end. And also let me know if you have more questions :)

    Thanks,
    Raoul
     
  25. BlueAndPurple

    BlueAndPurple

    Joined:
    Feb 25, 2018
    Posts:
    4
    Hi Raoul,

    Thanks for the reply. I don't see any pink road materials but I also do not see the packages you mentioned, should I reimport the asset? I am using v3.2 beta with unity 2020.2.6f1
     
  26. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi BlueAndPurple,

    Do you mean the v3.3 beta I mentioned on the previous page?

    The beta package indeed does not include these URP packages, that is why this alert message appeared.

    If you do want to import these URP materials, then instead of reimporting the package from the Asset Store in the project with the beta version, can you import the Asset Store package in a new project. That way the respective URP packages can be imported afterwards in the project with the beta without overwritting the v3.3 beta version.

    The v3.3 beta does use a couple of side objects like the retaining wall with a custom shader. These assets including additional URP packages are part of the free demo package on the Asset store. So the same can be done for this package if you want to use these assets as well in your scene.

    Thanks,
    Raoul
     
  27. skarmokar

    skarmokar

    Joined:
    Sep 11, 2012
    Posts:
    4
    Hi Raoul,

    Currently, we are using v3.2.1f2 released on December 07, 2021.
    Can you share the version assets link?

    Thank you
     

    Attached Files:

  28. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi skarmokar,

    I had a look, these IConnector API options are currently indeed only available in the v3.3 beta.

    A new beta update will be available today. After that I will prepare a small update of v3.2.1 including these options.

    Thanks,
    Raoul
     
  29. skarmokar

    skarmokar

    Joined:
    Sep 11, 2012
    Posts:
    4
    Hi Raoul,

    Thank you. Waiting for the update on the asset store.
     
  30. CitrioN

    CitrioN

    Joined:
    Oct 6, 2016
    Posts:
    67
    I have a question regarding runtime network building aka aligning the terrain(s) to the roads.
    There is always a significant fps drop when updating the terrain.
    Since it's all done in a single frame this is understandable.
    Is there a chance to get a coroutine or jobs based version of (BuildRoadNetwork() and its overloads) as an alternative to get better performance when updating the terrain?
    I don't need my terrain to update as fast as possible but as performant as possible.
    Since source code isn't provided with the asset creating this myself would be rather difficult.
    Or is there another existing or planned way to handle this case?

    Thanks,
    CitrioN
     
  31. dq_uxlab

    dq_uxlab

    Joined:
    Apr 30, 2021
    Posts:
    1
    hi, anyone would know why I can't autogenerate tunnels? I updated and imported it again to be sure, but there isn't even an option there. Thanks for advices
     

    Attached Files:

  32. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi CitrioN,

    Yes, there will be a fps drop when using updating the terrain at runtime. It is something that now and then is brought up, but not very often and the focus is on what is requested most.

    But it is on the list, and it is something that has been looked into regularly in the past. The problem here is that it is not as simple as putting code in a coroutine. I will look into this again.

    Thanks,
    Raoul
     
    CitrioN likes this.
  33. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi dq_uxlab,

    Are you using the original side object presets in the demo package?

    Can you check the below in the Side Object Manager tab:

    1. Select the "Concrete Tunnel" side object from the same tab as in your image
    2. Is "Auto Generate" in the "General Settings" active?

    If not, then the same "Auto Generate" option will not be available for this side object for individual road objects.

    Thanks,
    Raoul
     
  34. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Announcement to everyone who already downloaded the new v3.3 beta 6 released earlier this week,

    This package has just been updated with a fix for a possible small bug related to the "straight" arrow version of the new Lane Direction Marking feature. When Start / End decal presets already exist, the default arrow was not visible. This is fixed so if you want to use this new feature, please download beta 6 again from our website.

    EasyRoads3D-Lane-Direction-Markings.jpg

    Thanks,
    Raoul
     
  35. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hey raoul,

    I have done more testing related to the bug I mentioned a few days ago.

    https://forum.unity.com/goto/post?id=7893754#post-7893754

    What I did to recreate:

    - Created a new empty scene
    - added terrain and new road network (didn´t imported any road type or sideobject)
    - duplicated the Default Road type.
    - created a sideobject that is enabled for each marker ( just to for testing)
    - enabled that sideobject for the "Default Road" type
    - changed the Material of the "Default Road type" and "Default Road duplicate" road type to distinguish them
    - created a simple X connection prefab (I guess you could use any model)
    - two connection ends have the "Default Road" type selected.
    - two have the "Default Road duplicate" selected (for better comparsion to see what works and what not)

    - now create a new "Default Road" and "Default Road duplicate" in your scene
    - place the connection prefab and pull the road out of each end.

    You will see now that the created roads will work properly. The pulled out "Default Road" road is missing the applied sideobjects and differ in road width. When enabeling new sideobjects or changing the road material you will see that these changes will be only applied to the created roads and the pulled out "Default Road duplicate",but not the pulled out "Default Road" roads.

    Something is wrong with the first road type, in the list/array when selected / pulled out at a connection end. In my post where I mentioned the error, I deleted the first road type, so the "Default Road" type was no longer existend. not sure how to trigger that but I guess it relates to the same problem.

    let me know if you could replicate it.

    Thanks ;)
     
  36. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi Marcell,

    On my end both road types have the same width, the default width of 6. There are no clear details if the width of one of the road types was changed and when this was changed.

    Indeed changing the road widths of the road types after creating the new connection prefab does not affect the road width of roads pulled out of the connection prefab when this prefab was already in the scene before changing the width. So when pulling out a road object of the same intersection it will still have the same original width.

    Pressing "Update Scene Instances" near the bottom in the Road Type settings will update the road width on instances of this prefab. And new instances will also inherit this new width.

    I can recreate the situation with the auto activated side object on the first road type. It is not activated on the new instance when this road was pulled out from an intersection connection. I will check why this only happens on the first road type in the list.

    The side object is activated and generated when creating the new road directly in the scene.

    Thanks,
    Raoul
     
    marcell123455 likes this.
  37. jamespoly86

    jamespoly86

    Joined:
    Oct 30, 2021
    Posts:
    1
    I have a question. I have the free version of easy roads v3. In many youtube videos I see that in easy roads v2 when I create a new road it creates marker object with the list of markers under road object. In easy roads v3 free version there isn't marker object. Is there only in pro version ? It is important for me for using it with intelligent race driver system (irds).
    Thanks, James
     
  38. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi James,

    Yes, in these older v2 videos markers were indeed separate objects under the main road object in the hierarchy. This is no longer the case in v3.

    The Pro version does give access to the marker positions. And irds also supports the new lane data options in v3.3 out of the box.

    For the free version, position in the markersExt list of the ERModularRoad object can be used, but this is all I can say :)

    Thanks,
    Raoul
     
  39. Vagabond_

    Vagabond_

    Joined:
    Aug 26, 2014
    Posts:
    1,145
    Hey @raoul

    there are i guess some changes in Unity 2021.2.x
    Are you adding support for it any time soon !?

    upload_2022-2-22_8-40-10.png
     
  40. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi Vagabond_,

    2021.2.x indeed includes critical changes that requires an updated package which is already on the Asset Store. Could you force a new download from the Asset store from the 2021.2.x Unity version? That will import the correct version.

    In case you are using the v3.3 beta, the download from our website includes a package for Unity 2021.2.x.

    Thanks,
    Raoul
     
  41. Vagabond_

    Vagabond_

    Joined:
    Aug 26, 2014
    Posts:
    1,145
    Hey, yeh at first i did import the latest version and the errors were using that exact version...
    However i did delete the package from the hard drive and downloaded it again and now it works which seems weird though !

    upload_2022-2-22_11-18-5.png
     
  42. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    The error you posted, prefabStage related, shows that indeed the package for an older Unity version was imported in the Unity 2021.2 project.

    Downloading again from the Asset Store should fix this type of issues, also when downgrading back to an earlier version of Unity.

    Anyway, glad to hear you already got it working!

    Thanks,
    Raoul
     
    Vagabond_ likes this.
  43. marcell123455

    marcell123455

    Joined:
    Jun 18, 2014
    Posts:
    270
    Hey raoul,

    I want to make a feature request. Currently sideobjects only have one spacing variable. I want to suggest adding a secondary spacing variable. For example: currently I could only generate pylons with a spacing of 2 meters along the road, but it would generate along the whole road (when I don't disable the sideobject at the marker). I would like to have a second spacing variable to say, generate pylons with a spacing of 2 meters every 50 meters. So there would be 50 meters pylons generating, 50 meters no pylons. Do you know what I mean?

    I just want to mention it, but sorting road types I mentioned earlier should be priorized higher I think.

    Thanks
     
  44. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hi Marcell,

    This can be added. I guess the distance of each section of generated pylons with the 2 meter spacing in your example, should also be customizable?

    When you posted about manually changing the road type list last week I thought this was related.

    A road type category sorting system is on the list but indeed with less priority because it is not really requested compared to other features like these flexible intersections, side objects on intersections, etc. And it is not a task that is done in 5 minutes. I will see what can be done here.

    Thanks,
    Raoul
     
    marcell123455 likes this.
  45. Vagabond_

    Vagabond_

    Joined:
    Aug 26, 2014
    Posts:
    1,145
    Hey @raoul

    may i request some features as well...

    1. as far as i'm aware there's no way to select all markers easily, i'm clicking them one by one. May be using a window selection or Control+A can be added for all markers selection !?

    2. Also when i have a track and i want to enlarge it a little for example, i have to move each marker individually. What about of adding the possibility to transform selection of markers, Moving, Scaling and Rotating... This would help a lot !?

    3. A way to deselect Road System. When i work on full screen mode i have to toggle it an go and click on Project or Hierarchy windows in order to deselect the road main object !?

    4. I though there was an option to keep the terrain heightmap when getting back to edit mode... i can't find it, but it will be a good addition. Is this possible if there is not yet such option !?
     
    Last edited: Feb 23, 2022
  46. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hey @Vagabond_,

    Do you mean, select all markers of a road object? Setting up Hotkey combinations is tricky in ordre not to interfere with those already used or very likely to be used. All road markers can currently be selected with Shift + Z, the focus must be on the Scene View window for that to work, http://www.easyroads3d.com/v3/html/shortcuts.html

    Moving the full road network is possible by selecting the two child objects under the main road network object. In the Inspector you will see a confirmation that the road network was moved and an option to confirm the changes.

    Especially scaling the road network is tricky when short road objects are involved. Both options are on the list but with less priority because it has not really been requested until now :)

    Also, everything that is required for this is available in the scripting API, so this type of functionality can also be implemented by the user.

    That is to prevent the default Unity behaviour of selecting the object that was clicked. This should not happen when the terrain is clicked to add road markers.

    Double click will select the terrain, deselect the roiad network.

    This option is not clearly available by default because it is not recommended. After road shape changes the old road shape will still be visible. This option can be activated here:

    General Settings > Scene Settings > Enable Back to Edit Mode without Terrain Restore

    Thanks,
    Raoul
     
  47. Vagabond_

    Vagabond_

    Joined:
    Aug 26, 2014
    Posts:
    1,145
    Hey @raoul ,

    1. Yeh Shift+Z is actually perfect... I couln't found this in the docs though ! Anyway it does the job !

    2. I meant transforming a selection of markers like this. Moving is actually working perfect, but sometimes i want to select a few markers and use the rotate gizmo to adjust their position based on the rotation done with the gizmo. This can greatly improve the workflow. I do this with other spline tools i'm using... it's like if you have a proper turn and you need to reposition it but don't want to ruin the curve, it you can select all the markers and use the rotation gizmo to reposition markers based on rotation on Y axis for example and then use the Position gizmo to place on the new spot... Also for scale, just an example, sometimes it's useful if you want to resize a turn you have created and keep the shape, so using the scale tool can be used to adjust distance between the markers without ruing the road shape. In other case if you have to move all the markers you want to reshape the road, you can ruin a road shape you spent like 10 minutes or so to create ! You can eventually add some user toggle that changes the gizmo behavior as currently the rotation changes the marker normal and the scale changes the marker width... If you add an option for users to toggle behavior you may be able to add this functionality as it is the same as changing a single marker but in this case you just transform the few selected markers. What do you think !?

    3. I understand that and not deselecting the road system by clicking it's fine, but what i was thinking is to be able to deselect the road system using the default Unity deselect combination Shift+D ( or may be Esc key ). I was expecting to get the road system deselected when i press those keys. This shouldn't interfere with the road creation pipeline ! What do you think ?

    4. EDIT : Oh i got it wrong! This is actually implemented so skip that point :) I think will be awesome to have this option right above the "Back to Edit Mode" button so user quickly toggle instead of having to go to settings... and here's why... i find it much easier to clean up terrain in case we keep the currently baked heightmap while iterating on terrain shape... i was experimenting with this a few times but i do it by exporting the heightmap using the terrain tool, than going back to edit mode and then using the terrain import heightmap option to first adjust the terrain and then i bake again the road next time when needed... this help a lot with fine tuning the heightmap !
     
    Last edited: Feb 23, 2022
  48. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,613
    Hey @Vagabond_,

    2. Ok, this is more related to scaling and rotating a selection of markers. I made a note to add that.

    3. I see Shift + D events indeed are also automatically intercepted. This behavior is added and will work in the next update.

    4. Yes, what I wrote in my previous reply "General Settings > Scene Settings > Enable Back to Edit Mode without Terrain Restore" will add the button "Back to Edit Mode - No Terrain Restore" in the Build Settings below "Back to Edit Mode".

    Thanks,
    Raoul
     
    Vagabond_ likes this.
  49. Vagabond_

    Vagabond_

    Joined:
    Aug 26, 2014
    Posts:
    1,145
    Awesome !
    Cheers !
     
  50. MrTimcakes

    MrTimcakes

    Joined:
    Jan 8, 2016
    Posts:
    11
    Hey,

    I've been browsing the manual but I don't see a way to conveniently get the progress around a closed section of road? The reason being, I'd like to display a warning if a player starts to travel in the wrong direction. Anyone got any suggestions for how to implement this?