Download

[TUTORIAL] Create a procedural spline road tool in blueprints 4 part video series

Hi Everyone

I’ve just finished this series of video of how to create a road tool using splines. it starts off introducing the new spline and spline mesh components and finishes with using them to create a road placement tool.

https://www.youtube.com/watch?v=3GIcFrR-bJk&list=PLHadbgEqCTxDgj-RwPQGkaUypb05NJYN6&index=2

I did a similar video last week but have redone it because I improved the tool.

Feel free to give me feedback and if you like it then please subscribe to my channel so you receive future tutorials. I’ve got lots planned, including particles, Engine Architecture and also c++. Also will have some maya fluid simulation tutorials at some point in the future.

Hi Daniel

Great job on those videos, hope to see more in the incoming weeks :slight_smile:

Keep your good job, you already got a subscriber :slight_smile:

This is a really good introduction tutorial. Good work man. :slight_smile:

This is just perfect :slight_smile:
I had planned to work on learning the spline tool to make a road tool today, and was in the process of looking for tutorials, and then I found this.
Thank you for the videos, this is going to help a lot!

Thank for the feedback guys. I’ll try and have some more up in a few days.

Fantastic tutorials dokipen! I am just getting into working with splines and this tutorial will help guide me through learning a bit more. Keep up the great work and hope to see more tutorials from you in the future. Have a great day!

Nice tutorial!

I am having trouble getting the spline edges to smooth using Tangent Scale however.

Meshes are 25x25x0.

I can set the Tangent Scale anywhere between 1 and tens of thousands with little or no visual change. Seems like the material changes slightly, but not the actual shape of the mesh. If I set the scale to hundreds of thousands I can start to get separation on the meshes and then they rotate around individually.

From the screenshot, it looks like everything is hooked up ok. The main thing I would check is if the static mesh has enough divisions and therefore vertices so that the geo can support a smooth deformation. If there are no vertices along the mesh then it will just draw a straight polygon.

You are right about the vertices… But I can’t seem to modify them in the editor. Is this something I am going to have to do in GIMP?

GIMP wouldn’t help you here. Unless it can export obj/fbx files I created a plane in Silo with many divisions and exported as an fbx. When I show the wireframe of the model in the video you can see how many vertices it has. You can use maya, max, blender or Silo (which is on sale as part of a mac bundle here for $20 …http://www.macheist.com/#overview).

You can’t create that geo in the editor at the moment. I’m thinking of creating some plugins which allow you to make custom geo in the editor.

Oh yeah, I meant Blender not Gimp. I will give that a shot, thanks!

That worked. Though now, I have a problem where my material seems to be rendering per each vertice. Old water tile on the left, new on the right:

Not sure how you divided up the mesh but I would first check the UV’s to make sure that its still at 0,1 mapping and not tiling the uvs, then I would check that the normals are looking ok.

That was it, thanks for the help! :slight_smile:

I posted a thread in the feedback about what I feel are areas that need improvement regarding the spline tool: https://forums.unrealengine.com/showthread.php?20664-Spline-Tool-improvements

What do you think?

Love the tutorial, really took me far. My one problem I’m having is rotating the vertex, specifically on the Z axis. X and Y they seem to work (might need to figure out a way to add more segments on curves but thats another story). When I use the rotation tool and use the Z axis it has either no effect or gets completely disfigured. I’ll have to investigate more.

Are you talking about rotating the tangents on the curve in Z? I don’t think that would work as you are spinning an vector around the way it’s pointing. Hard to explain but basically the vector still ends up pointing in the same direction and doesn’t effect the direction.

If you want to rotate something that is places along the curve, then there is an attribute on the spline mesh component for the roll (one at each end so you could get some twisty effect going on). Or for static mesh component, you could rotate it around the curve direction/tangent.

Thanks again dokipen! Got the rivers procedurally generating all over the map finally. :slight_smile:

Hey dokipen, do you know what the Spline Mesh change in 4.4 refers to?

It sounds like something that could be useful, but I don’t see anything new in the context menu.

Thanks a lot for this tutorial dokipen. I’ve taken the basic idea and extended it in 4.5 to support splines with knowledge of their orientation and width, so you can rotate/twist tracks and there are also no gimbal lock issues due to using world Up to calculate rotations etc:

Width support:

Rotation support using quaternions (so there’s no gimbal lock issues) - corkscrew:

Rotation support using quaternions (so there’s no gimbal lock issues) - loop:

Unfortunately this change has required some low-level engine modifications so it’s not a blueprint-only solution. Happy to post the code though if anyone is interested… give me a few days to clean it up though! :slight_smile:

Wow greate stuff sds-michael. Yeah would be great to see code.