Search Unity

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,735
    Hi hlx,

    On the previous page about 10 posts from the bottom, the terrain "Trying to access out-of-bounds terrain height information" error is discussed. In short, in the current beta this error is raised when you select "All terrains" while there are terrains with no roads crossing that terrain. This is fixed in the next beta. Is your issue indeed related to this? You can quickly test this by creating short roads on each terrain tile.

    You may want to check the "Shortcuts & Scene Operations" section in the manual for quick references to actions like "delete marker" (SHIFT + D after selecting that marker).

    Thanks,
    Raoul
     
    Last edited: Oct 22, 2014
  2. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Hi Raoul,

    Many thanks for your support, it helped a lot.

    Hlx
     
  3. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Hi Raoul,

    I tried the last beta release (b3) and restested the conforming terrain feature with the all terrain option chosen. I still have the same error message. It just worked one time when I created for each terrain (4) a road segment but I haven't be able to reproduce this conform operation more than one time.
    It seems working only if the user has conformed the terrain the fist time with a roadnetwork that were over each terrain. Then, you can delete some roadmarkers and get some terrain tiles not crossed by road segments and however conform all terrains.
    Any help would be appreciated (bug reproduced, fix, workaround,...).

    Hlx
     
    Last edited: Nov 4, 2014
  4. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi Hlx,

    I double checked the "All Terrains" issues discussed on the previous page in the development project before preparing the beta 3 build. I didn't get the error anymore. I will check the final beta 3 build as well. Just in case something else is going on in your project, could you provide more info? Can you send a simple project to my email so I can have a look at it myself?

    Thanks,
    Raoul
     
  5. mikko_to

    mikko_to

    Joined:
    Oct 14, 2013
    Posts:
    21
    Hi Raoul,

    First of all, thanks for the great tool! Had already great fun with V2 and looking for the V3. Some questions regarding the new package:

    - Is it possible to make crossroads with different materials? Meaning, is it possible to create a small dirt road which would join to main paved road? That would probably require some texture blending (dirt would blend with pavement at the cross-section) and some adjustments with materials (car would handle differently at dirt road vs. pavement).

    - I'm planning to use road markers also as a sort of waypoint system. In so, is it possible to add markers after the road has been built, without changing the road layout itself? This would be really handy in some trickier corners or long straights to add more precision to game navigation. Or, if road markers could be untagged as "affect road layout"?
     
  6. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi mikko_to,

    Glad you to hear you like it!

    - Yes, you can assign your own materials. V3 has two types of crossing options, dynamic and custom crossings. The dynamic crossing type is 100% build-in and you can assign your own materials. However a nice dirt / paved crossing requires another geometry structure than the one currently available. Over the past weeks I have been working on the custom crossing type, a first version was released last week. This type of crossing is based on your own custom meshes, for example a dirt / paved crossing. It requires a bit more work on your side but you do not rely on what EasyRoads3D supports out of the box with the dynamic crossings type. You can create your own unique road network and a lot more. An update will follow within a week or so including a demo video. After that I will continue adding more options for dynamic crossings and the side objects system.

    - The whole system in v3 has changed, markers are no longer physical game objects. But an option to create empty gameobjects at the marker positions already exists exactly for the reason to use these gamobjects in a waypoint system. Adding more markers as waypoints currently is not possible. Also, because of the switch between Edit and Build Mode I am not sure if adding more markers in Build Mode will be efficient. I will think about that, or as you mentioned, perhaps add a "Waypoint" option to the marker controller type dropdown and ignore Waypoint markers when building the road geometry? This way you can add these waypoint markers already in Edit Mode.

    Raoul

    .
     
  7. mikko_to

    mikko_to

    Joined:
    Oct 14, 2013
    Posts:
    21
    Hi Raoul,

    Awesome, excellent thoughts! Custom crossings sounds really promising, in my mind I'm visioning a sort of rally game with varying road surfaces in one stage, I think that will suit my needs perfectly. Looking forwards with the update!

    Regarding the waypoint system, with V2 I've read the markers to an array during Start so that no matter what the road layout is, waypoint system follows it automatically. But, like said, during some trickier corners or long straights some fine tuning would provide smoother experience. That "Waypoint" option for marker controller type would be superb and also allow building routes which would take off-road path occasionally. Sounds interesting!

    So, in whatever solution you decide to go in V3, if there is an option to build waypoint system through code by using the marker positions and allowing to add extra markers as waypoints which wouldn't affect the road layout, I'll be super happy! Thanks for your thoughts!
     
  8. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi mikko_to,

    Yes, I think custom crossings is a useful addition. It opens many new possebilities to use all this, not only for standard road networks.I will also include a dirt pavement crossing in the demo project.

    I will add a "Waypoint" option to the controller type dropdown.

    Raoul
     
  9. Itaros

    Itaros

    Joined:
    Mar 20, 2012
    Posts:
    9
    Does it work in runtime?
     
  10. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi Itaros,

    v3 will include an API that can be used at runtime as well.

    Raoul
     
  11. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    @raoul, I realize you may not be able to answer this with high precision, but ... now that ER3D v3 has been in beta a while ... any idea of when it gets published to the asset store?

    Is there a light at the end of the tunnel (tunnel not included)? :)
     
  12. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi hopeful,

    There are still a couple of things to implement so I cannot really say yet when it will be on the asset store. But if you already have a Pro license, you have access to the betas and you will also have automatically access when it is available on the asset store, no need to upgrade.

    Tunnels is a challenge, it is doable but there is no solid solution yet that will work in any given situation. I have another idea how to handle this, which should work for specific some type of tunnels, ity will be more solid. But that will be 3.x

    Raoul
     
  13. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Hi Raoul,
    3 questions from my side :

    1/ Is it possible to join 2 road segments together without using intersections ?

    2/ Is it possible to set T crossing shapes in order getting a more Y style for instance. Do I have to create a custom shape for each case that not fit a perfect T or X crossing ? I was expecting a way to set easily (a max angle limit of course) a T shape crossing to convert it freely as Y shape.

    3/ Is there a way to give the same position values in one time for all roadmarkers (since the follow terrain contours don't let the user going back to the original position values).

    Thanks.

    Hlx
     
  14. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi hlx,

    You asked the first two questions also by email acouple of days ago. Didn't you receive my reply?

    This is what I replied:

    1.That is currently not possible. Do you want to join two roads using the same material? That can be implemented. It will do the opposite of the “Split road” option in the Inspector when you select a marker. Joining two roads with different materials can be done by using a connection prefab similar to the crosswalk prefab example in the latest beta. This way you have full control how the two roads connect / blend.

    2. That is something on the list for “Dynamic Crossings” but all these different sort of crossings need their own specific implementation, geometry / UV layouts for which the variation is literrally endless. There are many different types of crossings if you think about it. Crossing types not yet supported can indeed be done though the custom crossing system. Hence why I am putting time in the custom crossings system right now. You do not rely on what is build-in.

    3. Since you mention the "Follow Terrain Contours" option, do you want to have the markers move back to their original position when switching this option off? Usually markers are positioned at the terrain height, in that case "Follow Terrain Contours" will have no affect on the markers positions. But yes, if a marker is not positioned at the terrain height, "Follow Terrain Contours" will snap the marker to the terrain. I can implement this so the marker moves back to its original position when switching off "Follow Terrain Contours".

    Raoul
     
  15. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Effectively, I didn't receive your answer. Weird.

    1. A "join road" feature would be very handy, thanks to plan his implementation

    2. Glad to know that it is already in the dynamic crossing development 's scope

    3. Yes, it could be a very useful feature. It relies too on the discussion we had about selecting a set of roadmarkers at a time.

    Best regards,

    hlx
     
  16. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Ok, I am preparing things for a new update. I will have a look at 1 and 3 after that.

    Thanks,
    Raoul
     
  17. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Your support rocks, Raoul. :)

    Regards,

    hlx
     
  18. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    @hlx, thanks! :)

    Here is more on customizing your road networks, available in the new beta.

    The video shows how you can use your own models inside the new v3 EasyRoads3D system through the Custom Prefabs editor window.

    You can select where you want roads to connect and which materials should be assigned to these roads. The simple scene shows some examples how you can use this system and create different road styles and crossing / connection objects. All this only took a little bit more than 30 secs in this video. The scene is part of the v3 beta demo project. Note that the used assets are provisional, the mesh objects aren’t really optimized but I hope it brings across the capabilities and how you can use this new system to customize your road networks. Also, this video is road network related, more examples on how you can use all this will follow.

    The new beta also includes a first version of the runtime API including a test scene.

    Raoul

     
    hopeful, John-G, Meceka and 1 other person like this.
  19. Archania

    Archania

    Joined:
    Aug 27, 2010
    Posts:
    1,662
    Nice work Raoul.
     
  20. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Yeh, be able to connect roads to customized intersections is very very helpful. I will try the newer version as soon as possible.
    I have an other question. Is there a way to get roadmarkers always displayed even the terrains are deactivated (hidden). I try to create a road network based on a drawing and projected as a texture on a plane primtive. It helps me to build the roads on a top view but if the terrains are visible, I don't see roadmarkers anymore. any suggestion ?

    Thanks,

    Regards,

    hlx
     
  21. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Thanks guys!

    @hlx, yes, at the moment a terrain object is required for the scene handling. Instead of using a plane primitive I would recommend to try using a new temporary flat terrain object, assign your drawing texture to the first terrain splat texture and set the tile size to the terrain size. That will work.

    Raoul
     
  22. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Ok, I see. But this workflow can be a liitle bit annoying if I want to conform the terrain based on a heihgtmap while building roads (for ckecking the work in progress). The terrain won't be flat anymore...
    Could it be possible to add on your (very long) to do list an overlay feature (to draw road network ?)

    Thanks.

    Regards,

    hlx
     
  23. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    When you want to do your terrain operations (conform terrain by heightmap, etc.) you cannot disable the temporary terrain and apply those operations to your real terrain objects? The temporary terrain is just a replacement for the plane primitive, it will remain flat. Or does that not work in your situation?

    Raoul
     
  24. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    In fact, my issue was that the real terrain is hidden when the flat terrain is visible. So I have to switch their respective visibility status to make it works.
    Anyway, 2 suggestions for the future : an overlay feature could be a painless feature.
    Also, improving the list of choices about the terrain list could be helpful in order to do quick test of conforming. It could be very helpful to choose what terrains you may include though a enum/checkboxes actions in a arraylist for instance.

    Regards,

    Hlx
     
  25. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Isn't that also the case when using a plane primitive?
    I can add that for v3.x but implementing the main functionality has priority at this stage also because, as mentioned, there are already ways to do that in a fairly simple way directly in Unity. To make this more functional I could add the "Follow Terrain Contours" option globally in General Settings > Scene Settings.
    I will add that for v3.0

    Thanks!
    Raoul
     
  26. publicst

    publicst

    Joined:
    Aug 9, 2014
    Posts:
    4
  27. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi publicst, It is not easy to see but that looks like part of the white surfaces in Edit Mode visualizing how the terrain will be deformed. Did you take this screenshot in Edit Mode? Or after:

    Middle Terrain Tab in the Inspector > "Build Terrain" button

    Raoul
     
  28. VataRaven

    VataRaven

    Joined:
    May 24, 2013
    Posts:
    180
    Would you be interested into coding this for the Unreal Engine?

    I know people on the forums over there said they would be interested in more useful assets, you know, the things that aren't models and textures
     
  29. publicst

    publicst

    Joined:
    Aug 9, 2014
    Posts:
    4
    Voila! I just realized it saids in bold on quick start that I have to press build terrain after I am done building. Oops!
     
    Last edited: Nov 18, 2014
  30. Paddington_Bear

    Paddington_Bear

    Joined:
    Dec 9, 2012
    Posts:
    274
    Hi there, just to clarify - is this toolkit compatible with "RTP 3.1" shaders? As I understand it this isn't going to get in the way of terrain shading but I may be wrong.
    Cheers.
     
  31. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi Vataraven, Thank you for the interest. I have been asked that before. I am a long time Unity user from the early days and loyal to Unity (although they really should fix that Unity 5 bug I filed or at least give me more info!). EasyRoads3D is not our main activity, we use it for our own projects. In the past I suggested to use the free version of Unity to build your terrains and roads and import in the Unrela Engine although I belief the Unreal Engine uses different heightmap resolutions which makes importing the raw map less straight forward. The person who asked before managed to work all that out and made a video tutorial of the full process.

    Raoul
     
    Last edited: Nov 18, 2014
  32. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Glad that solved it! :)

    Raoul
     
  33. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi CBosselmann, EasyRoads3D does not mess with the terrain shaders, it works just fine on terrains using the RTP shader pack.

    Raoul
     
  34. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Greetings for your sense of loyalty. I hope that Unity technologies worked well on the version 5 in order to improve the terrain management (memory footprint, sculpting tools, resolution heightmap limits, stitching, poor basic shading...and so on). Hoping that the 64bit version of the editor will help too.

    hlx
     
  35. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    No. Using the plane primitive (textured drawing with transparency) let me see the drawing still visible while I am doing my road network on the terrains that I can confom when I want, no need to switch every time beetween hide/display real terrains and flat terrains. And more, I can' t conform the "flat terrain" by mistake since I use a plane primitive.

    Thansk to add my wishes to your development plans. I clearly understand your priorities since critical features that can't be replaced by workaround are higher than temporary solutions.

    Regards,

    hlx
     
  36. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    I would likle to know if the KML import feature seems to work or not ? Also, is a kmz file exported from the Sketchup then saved as kml file in Google earth can be loaded in ER3 ?
    So, is there a way to import a set of lines from sketchup to ER3 ?

    Regards,

    Hlx
     
    raoul likes this.
  37. mikko_to

    mikko_to

    Joined:
    Oct 14, 2013
    Posts:
    21
    That's just awesome! Have fun developing!!
     
  38. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    The KML feature is still very experimental since we do not use it ourselves, we use OSM. If you have any issues with both of them I would recommend to send the specific file to me so I can have a look at the format and test it.

    Raoul
     
  39. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi mikko_to, I had a quick look at implementing that for the new beta released yesterday but ran into some issues so I need a bit more time for that. It will be part of the next beta.

    Raoul
     
  40. stan4u

    stan4u

    Joined:
    Dec 20, 2012
    Posts:
    19
    pretty nice tool. I wonder is there is support for run time in game track generation.
     
  41. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi stan4u, the latest beta 4 includes a start of the runtime api. It is roads only at this stage but it will be further expanded so you can also create intersections at runtime.

    Thanks,
    Raoul
     
  42. stan4u

    stan4u

    Joined:
    Dec 20, 2012
    Posts:
    19
    sounds great, let me know when there is a version with run time available to test....
     
  43. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Beta 4 is already available, you have access with an EasyRoads3d pro license. Just send me a PM or contact me through our website if you want to try it out.

    Raoul
     
  44. mikko_to

    mikko_to

    Joined:
    Oct 14, 2013
    Posts:
    21
    No issues, for sure! Take your time, happy to help on improving already great product!
     
  45. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    For the next update I am currently implementing the side objects system. I don’t think it will take too long but I might release a new update in between with small updates like your suggestion.

    Indeed feedback like yours is always very much appreciated, meanwhile several features have been implemented upon request so if any of you like to see something implemented not yet part of this new toolset, please contact me!

    Also, I received this question yesterday, a simple quick example on how the new custom prefabs system in the current beta (see video half way this page) can be used in a different way, half pipes. Just like in the video, the 4 blue tracks automatically inherit the shape of the connections assigned to the mesh prefab. More complex examples will follow…



    Thanks,
    Raoul
     
    Last edited: Dec 1, 2014
    John-G, red2blue and hopeful like this.
  46. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Hi Raoul,

    I tried today to create a custom prefab but while I select vertices to build a connection, I get the followinf error :

    ArgumentOutOfRangeException: Argument is out of range.
    Parameter name: index
    System.Collections.Generic.List`1[System.Int32].get_Item (Int32 index) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/List.cs:633)
    EasyRoads3Dv3Editor.QDOQDOOQOQDDD.OQCOOCCQQQ ()
    EasyRoads3Dv3Editor.QDOQDOOQOQDDD.OODQQOCDCQ ()
    EasyRoads3Dv3Editor.QDOQDOOQOQDDD.OnGUI (Rect pRect)
    QDDOOQOOQDDD.OnGUI ()
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)


    Do you have an idea of what is going wrong.?

    Regards,

    hlx
     
  47. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi hlx,

    What is the geometry structure of this prefab? Is it extracted correctly, black dots visible on all outer vertices and only on the outer vertices like in the examples in the video on this page?

    Can you show a screenshot or send the prefab to me so I can have a look at it?

    Thanks,
    Raoul
     
  48. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Hi Raoul,

    Here below a screenshot of the crossing object editor. i will send you the prefab mesh (FBX fimle exported from 3dsmax). I suspect a scaling issue in my mesh

    upload_2014-12-3_17-53-16.png
     
  49. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,735
    Hi hlx, that looks like a simple plane, this should work just fine.

    Looking at the selected connection (Connection 0 in the dropdown), did that error indeed occur on the first connection you added? Which vertices did you select? The selected vertices for a connection should be green (see image below using the Unity plane primitive as a prefab). In your image the center vertex is green.

    It would be good to have a look at the fbx!

    Also, just in case, connections cannot share vertices.

    Raoul


     
  50. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
    Hi Raoul,

    It is not a simple plane. I sent you the fbx file by email. The error occurs at the first connection I add while I am drawing a selection rectangle. Thanks for the support.

    Regards,

    hlx