Free Splined Mesh Blueprint Is Now Available on the Unreal Engine Marketplace

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone for the last 2 months I've been working on a spline tool that handles a huge array of options of putting meshes along a spline and I've had a couple of videos about it in the past and now I'm happy to say that it's available on the unreal Marketplace for free and for purchase a link to the store Page is in the description of this video you can download it for free on the marketplace in the link under the description it's being hosted in our Google drive folder just like we've done in the past I had to put this on the marketplace for $5 because of the restrictions of the unreal Marketplace but this this is a nice opportunity for those who want to support our development if you do buy it for $5 you also get the demo map that you see in the gallery pictures above and all the assets and materials that come along with it we are very appreciative if you do purchase the pack because it allows us to make more videos and helps us be able to spend more time on programming and development so thank you now I'm going to cover everything that this amazing tool can do for you you don't need to watch the previous videos to be caught up because this will cover everything since a lot of things have changed since the time those videos were made chapters will be made for this video so you can skip to certain sections you want to see I'm in my demo level and on a piece of landscape I just created let's drag the blueprint into the scene going in chronological order of functions we have this panel of default options start off with the first and most important option we have is the splin mesh option this is where you input the static mesh that you want to put along the spline for this I can put in unreal's default Cube or this directional Arrow I used elsewhere in the demo level a fun thing about this arrow is that I coded it to change color based on its direction so if you see it changing throughout the video don't worry it's intended now one thing you may also be worried about is if nothing shows up when you input your mesh this might happen because your spline may not be long enough to fit the mesh in it in that case you'll either have to make the spline longer or change the variable down here named allowable scale fluctuation I'll cover that variable soon after I finish the ones before it but the spline needs to be large enough to fit the mesh if it's too small there will be messages in the output log stating that there's not enough room the next variable disables the mesh from appearing on the spline pretty simple it may be necessary to use when you have a very high detail mesh and the spline gets laggy when you move it and you can see it's not as laggy and a lot easier to move when you disabled a mesh for the Collision options we have the basic options that are available with any mesh but one very important note I want to show is in this display included in the demo map I have three identical looking walls but as you may be able to guess the Collision for each is different Unreal Engine uses your static mesh's simplified Collision when it's along the spline I'm going to switch to the player Collision View mode and you'll see that we have a basic box the mesh we were just looking at and then empty space the first mesh had a simplified collision and that is what is being used now notice it's just a rough approximation of the bounds of the mesh for most applications this is fine you could use the complex Collision like see in this one by going to the static mesh settings and switching the Collision complexity to use complex Collision as simple the last mesh has no Collision because I deleted its simple Collision you either have to use the complex Collision like I just shown or create new simplified Collision a quick note using complex Collision should only be used where necessary it'll slow down your level if used too much that part of the demo technically has nothing to do with the variable of collision options but you can control the switching of collision through this option the next option is overlap and for this I'm going to replace the mesh I have on this blind with my guard rail you may see how the guard rail is not really connected from section to section but when I increase this variable it now overlaps with one another you could also set this to be negative to make all the meshes a certain distance from one another and have it deform I have a whole panel of options of placing the mesh along the blind that I'll show off later called periodic placement but just know that a negative overlap will deform your mesh along the bline and the periodic placement will not deform your mesh I'm going to change the mesh back to the arrow now time for the offset options vertical offset will move your mesh up or down the start and end offset will offset where your meshes will either start or stop spawning along the spline it'll make it so that it will not use a portion of the spline you specify in centim you can see with me playing around with the values how it works you can only offset as much length that there is between the two spline points that the offset is in there's a nice trick that you could use as well to get a certain proportion of the spline offsetted so if I set the start offset to a really high amount it will autoc correct the distance to be at the end of the spline point but the nice trick is that if you want halfway between two spline points you can Max it like I just did and set it to half by typing SL2 for divide by two and the offset is perfectly between two spline points now the next variable allowable scale fluctuation can be set and it will change how much your mesh's length is allowed to deform along the spline if it is set to zero it will spawn in the exact amount of meshes that can fit along the spine and will not deform the length of the mesh at all if you set the fluctuation to the max of 0.99 it means it can either shrink by 99% or grow by 99% which equates to it being anywhere from 1% to 199% of its original length like I said before if there's not enough room for the mesh along the spline it will give a warning well if you shrink the mesh to be 1% of its size it is a lot more likely that fit on the spline thus not needing you to make the blind longer you may need to play around with the value to see what is necessary for your needs the next option is the Clos Loop and it will connect the beginning of the spline to the end before I demonstrate let me add another spline Point by holding alt and drag the arrow with left click and we enable closed loop and it's looped very good the next option is disable ground snapping by default the meshes will be snapped to the ground through the magic of editing let me make this train a little a little noisy and now we can see all the spline points are snapped to the ground and each of the meshes are also individually snapped to the ground but this disabled ground snapping variable will make it not that way we can now move any of the spline points to be anywhere on the z-axis let's undo that to show a couple more variables relating to the ground snapping function the first one is the ability to ignore certain actors this was really helpful for me when I stag the picture for the product since it kept snapping all the blindes on top of the trees in my scene but I could just add an element to the array and select the trees to this variable to have it be ignored the other option is the ability to have only certain types of objects be used to snap to the ground just like the other one I add an element and choose which type of objects I want to allow it to snap to by default it's on world static but I can change it so that it snaps only vehicles or physics objects or any of these but it is important that the object type you're trying to include is actually labeled as one of these categories I can tell it to snap to vehicles but if the car I put in my scene is just a static mesh of a car it will not count as vehicle so just be careful of that next we have some variables covering the tangents of the spline you can change the tangents individually like you normally can in a spline but you can also use curve scale to uniformly increase or decrease the amount of curving in the spline so we have our Aros spline curving quite a bit but if I set it to 1.5 we can see it now curves more and the value in the variable goes back to one because this is the new normal if you want to undo it you could also do one divid by the value we used which was 1.5 and the tangents are back to what they were you can also set the scale to zero and it will make this bline linear unfortunately you can't go back the same way since dividing 1 by Zer is not allowed so the only way we can get back is to press reset tangent and it will use default tangent values that unreal calculates now the next four variables deal with how the mesh is oriented when creating this I got frustrated that the mesh I wanted to use wasn't facing the right way and I had to change the pivot or rotation of my static mesh but these options should save you from that the first and most important of the options is the forward axis this controls the direction the mesh is facing on the spline without editing the spline in any way the best way I thought to demonstrate this was with arrows to show the clear Direction and I'll be using the actual example on the demo map each row of arrows here is only using One Singular mesh well it's technically three but when I place them side by side you can see they are the same mesh with different colors the only thing that really changes is the forward axis if I put down the static mesh you can see the arrows pointing in the x axis which is denoted by the small red arrow I can change the forward axis to be Y and you can see it now matches the green arrows and lastly if I set it to Z it matches the blue arrows so does this mean that I can point it in any direction almost we would need to flip the meshes over the three axes in certain ways and that's why we have new options to do just that for the Red Arrows when it's along the X forward axis I can flip the direction using flip forward SL backward for the green arrows I can use the flip left right and lastly for the blue arrows I can use the flip upward downward the reason I use each set of arrows to do a different flipping variable is because the arrows are symmetrical on two planes which means if I were to flip it it would look the same but with all these options you can Orient a mesh in any direction which should save you some time the next thing I wanted to show while technically not an option on this list was that meshes can be twisted someone from the community said they wanted the meshes to be able to twist so there's now a way to do that I'm returning to my little landscape square and changing the mesh to the default Cube we can grab one of the spline points and just rotate it along the x-axis when you do this I recommend enabling the option of use default spline twisting because for X and Y AIS rotation it does a really good job but when you enable this when the mesh is going along the z-axis you will notice some problems let me make a new spline mesh by copying the current one by selecting the actor once and then alt drag like you do first blind point and now we'll make it vertical it is now exactly vertical and we enable the default twisting and now we have have no mesh unreal does some trickery and a lot of people have run into this issue from what I saw in different forums I don't know why and what math causes that I would have to look at the C++ code but just leave this value unchecked for z-axis meshes it will also cause errors and other meshes that are partially vertical as well the next option is another way to deal with twisting that uses multivariate calculus to untwist a uniform z-axis rotation unfortunately I only went up to calculus 2 in University and this is calculus three but I believe I understand it well enough to explain it let me go to the demo scene to show an example in this blind the top of every mesh points in a certain direction called the up Vector it's hard to tell where it's pointed sometimes but I can change the forward axis to Z to show us where the top of every mesh is facing along this blind the up Vector is typically aligned in the Z Direction unless mesh is traveling in the Z Direction and we can see on the right it rotates around this blind and on the left it just suddenly flips the untwist using Sur F method can untwist the arrows on the right since it is gradually twisted and on the left it doesn't help because it's a sudden twist unreal is pretty weird with its blind so I kept this method in here but typically just having these two options turned off will be fine except for when you are rolling spline points that are on the ground then just enable this one let me go back to landscape Square again to show the last feature and that is the mesh outward scale this is really nice because it will adjust the scale of the mesh on two planes and make sure the mesh still fits in the spot it's in now that concludes all the default options which means we are mostly done we have two Advanced features that have their own option panel the first one can snap the spline to travel adjacent to a different spline and the second panel of options make it so meshes are spawned periodically along a spline instead of continuously so let's start with the spline snapping if we want this spline to travel adjacent to another spline we have to first specify the blind to snap to for this example we're going to snap it to this one I just made the next two options specify the range we want the blind to follow from the other spline we want it to follow the whole spline so let's set the zero as the starting spline point and the end as the last spline point if you don't know your ending spline point you can enter in a number higher than it and the function will clamp the value to the highest spline point also remember that you can use any of the options we previously talked about so you could use the other offset values to set the range between spline points as well the next option is the distance from spline and it will make the spline offsetted from the copied spline by the amount of cenm entered in this variable by default it's 500 which means this spline is 500 cm to the right of the spline if you want it on the left you'll need to make this variable negative now you may notice that the spline loses a bit of accuracy where the splines curve and is furthest from a spline point and that is because it copies the tangent exactly from the other spline which is a decent approxim imation but it would need some math in order to correct I spent a long time looking for the math to do that and made a bunch of code but ultimately I sell for a way by sampling the other spline for a better approximation using the variable quality subdivisions by default is a one to one spline Point copy meaning for every spline point the first spline has the new spline has one if we set it to two it's now two to one meaning for every spline point the first spline has we now have two on the second spline it will give you diminishing returns as you increase the subdivisions I have noticed that I have not needed more than five but it depends on how well you need it copied the last option in this panel is the spline name and you won't need to worry about this if you are snapping to an actor with just one spline component but in the previous video I showed how my road system had more than one spline and I had to connect it to the main spline so I Ed the name of the spline in this field so it knew which one to snap to that's all for the spline snapping now on to the periodic placement we have two options up here and that is to destroy and spawn objects although they won't do anything until I turn on the main option in this panel which is the one named periodic placement it will allow the meshes to be placed along the spine without any deformation once you have them periodically placed we can press spawn objects and now they are individual objects placed in the world this means that we can now move them scale them or edit them individually without affecting the rest but we can also press destroy objects and that will delete all the objects we spawned in it should also be noted when you press spawn objects it will disable the meshes from spawning along the spline so that it doesn't create duplicates of the meshes and by duplicate I mean one set of meshes still being attached to the spline and the newly spawned ones that are not attached to the spline so we need to scroll up and uncheck disable meshes the next variable is the placement distance and that just allows you to place the mesh every so many cenm along the spline it does have a size limit of not being allowed to place it less than the width of the mesh but you can overwrite that by going into the blueprint and connecting this node to here instead the next two options deal with rotation the first option just adds local rotation to the meshes along the spline pretty easy to use the next one is interesting because it will tilt the meshes to match the slope of the ground I don't know of many use cases for this but it is cool nonetheless right one really cool feature that a lot of spline tools don't have is the ability to spawn blueprints along them this blueprint to spawn instead very will periodically spawn blueprints along the spline when you press the spawn objects button in order for this to work you still need to have a mesh plugged into the blueprint because when the blueprint is being spawned it borrows the position and rotation values from the meshes that are already placed the last variable is a list of all the meshes or blueprints that get spawned when you press the spawn objects button it is also the same list that the destroy objects function looks at when destroying the objects that were spawn this means that you could remove some actors from the list and those won't be deleted when you destroy the rest of the actors and with that we have finished all the variables I have just a few General tips I want to go over before ending this video first tip if you forget what any variable does you can hover over any of the names and a little description I made will pop up explaining it second tip if you have a low poly mesh it won't deform as nicely as a high poly mesh and we can see this by going into the wireframe View mode if you want to deform better you need more vertical subdivisions in your mesh third tip quicksell assets are great if you are looking for free things to run along the blind I previously showed in an earlier video some of the meshes I was able to use one thing to look out for though are the quickel lods or level of detail in curved quickel meshes since it can be noticeable when it's using worse lods you may have to adjust the lods in the static mesh settings final tip one thing to try if you are an unreal 5.3 or higher is nanite for spline meshes they should have support in in beta and we'll probably have more support in 5.4 and future versions all right that should be everything this will end the nearly 3-month journey of developing this tool we will still be supporting this tool and do updates as needed and perhaps add support for earlier Unreal Engine versions but this will end the main development of this tool we would really appreciate your financial support if you can through this or the dynamic Road system speaking of the dynamic Road system our studio will be returning our efforts to focus on another update for it primarily Focus on allowing you to make large Road systems faster if you are interested in our content you can subscribe if you want to be notified of Future tools and updates that we make thank you for watching until next time
Info
Channel: A Vie Guy Studios
Views: 9,782
Rating: undefined out of 5
Keywords: Dynamic Road System, DRS, Unreal Engine 5, UE5, road making tool, road building, procedural tool, game development, game engine, game design, game creation, Unreal Engine, Dynamic, Road, System, A Vie Guy Studios, Procedural, Geometry Script, Blueprint, Free, Download, Spline, Mesh, Meshes, Guardrails, Fences, Sidewalks, Road Curbs, Train Tracks, Splined, Update, Lamp, Lamppost, Road Signs, Street Lamp, Street Light
Id: hFZljPUWW8Q
Channel Id: undefined
Length: 18min 12sec (1092 seconds)
Published: Thu Mar 21 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.