Search Unity

Splineworx: Bezierspline driven modelling and object distribution system

Discussion in 'Works In Progress - Archive' started by toxtronyx, Dec 19, 2014.

  1. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    Splineworx is a Unity extension to create complex meshes based on spline systems within the editor. You can also use it to place objects along splines and mix both approaches.


    First thoughts

    For our upcoming project we need to create hundreds of kilometers roads, fences, power lines and so on.

    So basically one of our core questions during shaping out the ideas was: 'Do we want yet another road tool?' And the answer was: 'Yes and No'.

    We wanted a tool able to do roads, bridges, crossings, cloverleafs, on/off ramps, powerlines, railtracks, fences, hedges, rows of buildings, you name it, in one consistent system with all the neccessary options to combine them.

    After doing some extensive research we had the following major points on our list:
    1. Remove all restrictions and break the system down to one point: Bezier splines.
    2. Give the user the full control what mesh the system shall create and even if a mesh is needed
    3. Save all created systems into external data to reuse and modify at every place needed inside the project or in other projects
    4. Combine generated meshdata with prefabs like e-towers or simple guardposts aside the road
    Some serious headaches later Splineworx was born or better said it is still in the phase of birth.



    Core features
    • terrain independent but interacting with terrain if needed
    • bezier splines
    • spline parts hold spline connection
    • spline connections can split. Therefore you can have more than 1 or 2 connections controlled by one marker
    • each connection controls subsplines
    • each subspline can be numerically altered between two connections to change x distance to main connection (usefull for road markings, transitions between different e-towers eg)
    • each subspline has 4 layers
    • each layer can hold up to three different profiles (start, tiling, end)
    • each profile is created in external modelling tools and stores uv and mesh data
    • mesh generation generates up to 4 meshes per spline part (one for each layer)
    • each mesh creates one material index per different profile type


    Additional Features
    • each connection can alter the terrain with specific width, smooth width and fixed heights to create soil walls if needed
    • meshdata can be used like any other mesh inside Unity
    • core library of complete XML files fore some common constructions (will be massively updated in the near future)


    Next steps

    We currently call it Beta. It is allmost full featured but still has some weaknesses and bugs and in some cases you can shoot your own foot and lose the whole leg. After fixing those issues it needs to be documented.


    The future

    Splineworx is part of our suite of tools we are developing to create large scaled simulations including paged terrain system, traffic and AI, traffic rules, vehicular physics and so on but will also work stand alone and of course for other stuff than only roads.

    Splineworx itself will be developed further since we need it for more than just one product and most likely some very cool feedback from the community will help making it better and better over time.

    Also content updates will follow like more complete xml files and corresponding profiles and more signs.

    First Shot without the splines

    Part of the intersection



    Edit January 22 2015

    Its been a while since the last update on the progress. Important things first: Splineworx will be more feature rich on start, then originally planned, but it will delay a bit. We've been busy extensively using and testing it for our own project and some great things are coming down the road.
    1. Since it is very complex we add more XML files to the release than planned. Therefore you can get first results very quickly and take your time to learn about how it works.
    2. Some changes under the hood for the upcoming AI
    3. Convenience was a bit of a problem with the first internal versions. Now you can copy and paste connections, expand your current XML data by appending other xml files making the the creation of presets more flexible and usefull. You can also pre set materials for all profiles now making it easier to check your results and work faster. Just to name a few
    4. Terrain altering has been massively improved including four times more options to be as flexible as you are with the splines itself.
    5. Whilst overhauling the terrain related functionality another feature has been added allowing you to create *.png files splatting your road in white on black background. This is extremely helpfull when working with Terrain Composer.
    After splatting out a mask of the road some altered copies of it have been saved and used to force Terrain Composer to add smaller vegetation and foliage near the roads without creating them on the road.


    The Roadhouse will be part of the example files. Its not done yet but all the road stuff on this screenshot has been made with the help of Splineworx showing its flexibility. The main advantages of this approach instead of creating it in your 3d app are:
    After creating one roadhouse you can reuse it and make it fit your surrounding roads without even leaving Unity Editor and of course you have all the paths you need for AI, Pathfinding etc.

    A lot of splines...But not done yet.

    Going into Detail including barred areas following your road
     
    Last edited: Jan 22, 2015
  2. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    This looks really great! would love to see this working with our traffic system :D

    Keep it up!

    Rhod,
     
  3. ice-cupe

    ice-cupe

    Joined:
    Sep 25, 2012
    Posts:
    6
    Hey Tox,
    we bought RoadArchtect 4 days ago and Started integrating a Traffic AI. We also want to modify it to German Roads and intersections. Cause we Need to create lots of Roads.
    Now I Read your Post here. Damn. ;-) i am very Interested.
    When will You be able to sell your Stuff? If I Could Buy yours before Januar 10th, i think we could Switch.
    How much were you thinking, You have to Charge? Depending in the Price i think i Would even buy your Beta-Version just to figure out if it Would be more useful für us,

    Would there be Full Source Code? Or better asked:
    Would it be possible to modify and extend it with Own Code?
    How is the Performance with all the Green Splines, and is it possible to address those splinenodes via Code to inclusive Traffic ai?

    Thnx
     
  4. Gargi

    Gargi

    Joined:
    Jun 6, 2012
    Posts:
    26
    Hi ice-cupe

    I did the programming side of Splineworx.

    Because we are in the beta-phase we have to kill some bugs. But we expect that we will have a new version at the end of the year. I have to ask toxtronyx (he is my boss). Maybe we can sell you a special-priced beta-version.

    Splineworx will be always sold with source code included. You are free to modify the code.

    The performance of the Splines isn't an issue because they are only used and displayed in editor mode.

    If you need the Markers and Connections (Splines) as part of your own AI-System, you can easily read them out.

    Edit: I forgot to say, that you are not limited to german-style roads. You can do what you want.
     
    Last edited: Dec 20, 2014
  5. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    iTS is very interesting. Tried the web demos. As Gargi said it shouldn't be a big deal to use the splines of Splineworx to control the AI of iTS.

    It depends on the approval at Unity if it hits the shelves earlier than the 10th. Our goal is to carve out the biggest existing bugs and add another important convenience feature making it easier to work together with Terrain Composer till X-Mas.

    Pricing will stay below 100 USD.
     
    rhodnius likes this.
  6. ice-cupe

    ice-cupe

    Joined:
    Sep 25, 2012
    Posts:
    6
    Thank you gargi and tox for your fast answer.
    Tox i sent you a message with my phone number. I really like to get in touch ;-)
     
    toxtronyx likes this.
  7. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    This looks really good.
     
    toxtronyx likes this.
  8. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    Thanks for the feedback folks!
     
  9. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    What will be the minimum Unity version to use your tool?
     
  10. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    It works on 4.6 and 5. We haven't tested on older versions yet.
     
  11. hakankaraduman

    hakankaraduman

    Joined:
    Aug 27, 2012
    Posts:
    354
    Is there an estimated time for release? And can you show videos how this works?
     
  12. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    We plan to release it in January 2015. There are still some nasty bugs to fix. Sorry I have no videos yet.
     
  13. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Does that mean around $75 or closer to $95 range?
     
  14. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    90$ is the plan.

    To keep you folks up to date. We are still fixing bugs and creating more XML data until the fixing is complete.

    Wish you all a perfect start into 2015!
     
  15. gungan37

    gungan37

    Joined:
    Apr 24, 2014
    Posts:
    2
    This looks like a really nice extension! I am planning on buying it since Road Architect was abandoned before cloverleafs and on ramps/off ramps were added.

    About the pricing: $90 seems a little bit high. EasyRoads3D is $45 and Road Architect is $60. If you like $90, you may want to offer it at a lower price when it first comes out. Just my 2 cents though- in the end, it is your extension and pricing is entirely up to you.

    Good luck on bugfixes!
     
  16. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    Thanks for your input. Starting with an early adopters discount is an option. We'll think about it.
     
  17. ice-cupe

    ice-cupe

    Joined:
    Sep 25, 2012
    Posts:
    6
    I got my hands on a very early-bird Betaversion without documentation and I can tell you it is worth every penny ;-)
    Once you understand how it works, there is almost no limit of which type of street you want to create (or later on bridges, fences, Buildings).
    Yes gungan37, the price is more then EasyRoads and RoadArchitect. But EasyRoads still has no Intersections at all, no European Roadstyle and the Code is packed in a DLL. Road-Architect on the other hand is not supported any more, and
    has only one type of Intersection for US-Style. No European support at all. In my eyes 90$ is a bargain for what you get.

    Even the Euroean Road-Asset are worth a lot. Because looking through the assetstore you can only find US-Style or ancient stuff ;-)

    Right now we are developing a real traffic-AI (also XML-based) with Splineworx, and maybe it will also be integrated in the first store-release.
     
  18. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    What is the learning curve? Since you did mention once you understand how it works.

    How big are the road systems are you working with? Are you working with terrain composer also?
     
  19. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Have you looked at Pro Track in the asset store (https://www.assetstore.unity3d.com/en/#!/content/21931) .?

    Just wondering if you have any thoughts on it.
     
  20. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    Looks ssssuperb
     
  21. ice-cupe

    ice-cupe

    Joined:
    Sep 25, 2012
    Posts:
    6
    @longroadhwy:

    About the learning curve. You must consider I only got two C#-scripts and some demo-xml. No Materials, no Textures, no scenes, no documentation. Only a email with a brief introduction. And it took me not longer than one day to understand the basics. ;-)
    When there will be a official release you get documentation + example-Scenes. I think an everage progammer is ready to go after 4h. It is pretty easy to understand. And those guys are really fast in answering questions.

    I didn't test the terrain part, because they are still working on that. But I have terrain composer and I will work with that. We also did not build long streets, because for implementing a Traffic-AI we only need a short part in the beginning.

    About Pro Track: that is only another track-tool. Single Road, no junctions and no real streets (not to mention european). Therefore really expensive ;-)
     
  22. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    We are working with TC too and it is an essential tool in our pipeline. However Splineworx and TC do not interact very much but that is not neccessary. Splineworx alters the terrain and you can save the changed *.raw and load it in TC. But you do not need to do so. TC reacts already on changed steepness and stuff. One big thing will be to create splatmasks like Road Architect does and load them in TC to prevent foliage being created on your streets or to influence the splatmaps around the streets.

    You must always keep in mind that Splineworx is not a real road tool in the precise meaning of the word. Sure you will mostly use it (as we do too) to create roads but the main advantage is the ability to create complex meshs based on layers with it and therefore you are far more flexible. All existing road tools we tested so far are optimized to create meshes out of pre set geometry. This works fine and fast if nothing really changes on the way but is very limited when you need to create splits and more complex areas like clover leaves and stuff. At this point Splineworx does not limit you and give you the flexibility you need. A simple example: You want to create some sort of highway with two different tracks, one for each direction and each track has 3 lanes. In case the road tool allows you do that it turns into a problem if you want to change the distance between both tracks at some point in your scene. In Splineworx you just alter some values and get the result you need.
     
  23. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Thanks for the clarification.
     
  24. Axel59

    Axel59

    Joined:
    Feb 28, 2013
    Posts:
    37
    Very interesting tool.
    good job.
     
    toxtronyx likes this.
  25. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    Hi there. Some progress has been made so I updated the first post.
     
  26. Clazzid

    Clazzid

    Joined:
    Jun 15, 2014
    Posts:
    5
    Heya any estimates on release date? i'm working with Terrain composer and other tools, and your tool is looking like a must have, i was working with Road Arquitect but i am considering dropping it since i is giving me a lot of issues out of the box, and would have to mod it quite a bit for my needs.
    Anyways keep up the good work... and drink lots of coffee!! because we need this tool yesterday! :)
     
  27. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    Thanks for your interest. We had to ditch the original plan to release it in January and can't give a precise date. It will be soon, but our major problem is to find enough time for a usefull documentation and we found some areas not working the way we wanted it so it is still in the phase of getting greater and more flexible. However the database of XML files is constantly growing so it will be worthier than originally planned. I'll do another great announce in a couple of weeks.
     
  28. hakankaraduman

    hakankaraduman

    Joined:
    Aug 27, 2012
    Posts:
    354
    Hi toxtronyx, is there more progress that you can share with us?
     
  29. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    I am sorry. Nothing to share yet. We created a database of templates for different road types, optimized stability and usability and using it widely inhouse but there are still some bugs to fix.
     
    hakankaraduman likes this.
  30. smilinggoat

    smilinggoat

    Joined:
    Mar 25, 2015
    Posts:
    1
    To toxtronyx

    I am also eagerly awaiting the release of your product
    None of the products available like RoadArchitect & EasyRoads3D satisfy my requirements.

    I have a question - I need to generate roads for New Zealand (real world) and would like to know if you will support left hand drive, or does it matter which side you drive on?
     
  31. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    Hi smilinggoat. I can't tell precise things about AI yet not even if it will be built in or separate. However you can read the splines out of the XML Data sheets and use it for your purposes. Therefore it doesn't make a difference. There is for all sublanes a checkbox to invert the direction. So you can build right or left hand or a mixture like on some train tracks. Its all up to you.

    To all the others interested in Splineworx: We are awfully sorry for the delay. We expected it to be finished far earlier however you wont't get a version 0.9 or 1.0 it will be more or less version 1.3. We are using it extensively inhouse and I will post some fresh new shots soon but it is very complex and we try to make it as good as possible and iron out at least all the flaws we find while using it.

    Best regards!
     
  32. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Your last update was in April do you have any new news on this release?
     
  33. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    I am sorry! I wrote a reply ages ago but somehow it got lost in space.
    Splineworx works like a charm and we are using it already extensively. However it will not pass through the asset store approval process. Most stuff can't be undone, the data saving is a bit quirky, same for the interface.
    We are currently having some serious headaches if it makes sense to upgrade it to a compatible version because this would need a lot of effort and we also recognized that some of the design decisions we made are not optimal. So maybe we start from scratch combining our experience from Splineworx and one quite relately tool we once created for another engine. For now we will release some other things first and see how it goes.
     
  34. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Any update on the status of Splineworx?
     
  35. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    Sorry. Nothing to show right now. Paperwork is done for version 2.0. Everybody knows now what to do and work has started last month. As soon as we have something to show, we will post it here. However thanks for your interest in Splineworx. We will keep you up to date.
     
  36. ASIM-SENYUVA

    ASIM-SENYUVA

    Joined:
    Apr 29, 2013
    Posts:
    90
    is Splineworx released.
     
  37. toxtronyx

    toxtronyx

    Joined:
    Aug 21, 2014
    Posts:
    114
    No sorry. The overhaul is painstaking slow as we are bound by our game projects and we are able to use version 1 internally but as stated earlier we can't release it via the asset store.