Splineworx: Bezierspline driven modelling and object distribution system

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:

  • Remove all restrictions and break the system down to one point: Bezier splines.
  • Give the user the full control what mesh the system shall create and even if a mesh is needed
  • Save all created systems into external data to reuse and modify at every place needed inside the project or in other projects
  • 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.

  • 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.
  • Some changes under the hood for the upcoming AI
  • 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
  • Terrain altering has been massively improved including four times more options to be as flexible as you are with the splines itself.
  • 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

7 Likes

This looks really great! would love to see this working with our traffic system :smile:

Keep it up!

Rhod,

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. :wink: 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

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.

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.

1 Like

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 :wink:

1 Like

This looks really good.

1 Like

Thanks for the feedback folks!

What will be the minimum Unity version to use your tool?

It works on 4.6 and 5. We haven’t tested on older versions yet.

Is there an estimated time for release? And can you show videos how this works?

We plan to release it in January 2015. There are still some nasty bugs to fix. Sorry I have no videos yet.

Does that mean around $75 or closer to $95 range?

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!

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!

Thanks for your input. Starting with an early adopters discount is an option. We’ll think about it.

I got my hands on a very early-bird Betaversion without documentation and I can tell you it is worth every penny :wink:
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 :wink:

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.

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?

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.

Looks ssssuperb