Spline Decals?

Under what circumstances a backlogged feature request or bug gets back on the to-do list?

What ? How can it be 2017 and we STILL have no decals on spline

You have to keep in mind Tim that open world games like Ark and Squad are among the best selling games using UE4 and such a feature would go a long way in helping development for games like those. We’re doing a large open world game as well and the time costs just for getting proper roads in without destroying our world is absurd. I get that it’s more interesting to incorporate cool new tech into your engine, but the truth of the matter is that for us down in the trenches making the games themselves, we need this incorporated so we can do our jobs properly. Fix the fundamentals first, I beg you.

I think Battlegrounds probably takes that title now, but I can say as someone who works on Squad, a decal based road system on a spline would be a very welcome addition to ue4 indeed!

See! And these are among the most purchased UE4 games out there. It’s strange that instead of doubling down on seeing more projects like these get off the ground, we’re being told that we’re on our own. :frowning:

Help us, Tim. :frowning:


Sorry, I don’t think I can be of any direct help. We have a ticket in for it as a feature request and beyond that it’s up to the priorities of the Engineers with their planning. Not every feature request will get implemented which is an unfortunate truth.

I’ve posted this a couple of times before, but Max wrote a really good article for his site titled “Why your idea might not make it into UE4” that gives some insight into why this might be. Everyone always says “oh, Epic can do it really quick and easily!” However, that’s really not the case if something needs to be done right and be well tested.

One alternative is to also code the feature yourself (not being you specifically, but anyone with programming experience) and submit it as a pull request through GitHub where it can be reviewed and implemented for everyone if it meets Epic’s criteria.

Hi Tim,

Thanks for the link, but truth to be told,

Are all what they have to deal with for every new feature, including what they are working on right now. So I don’t think that not implementing x feature which is easier to implement than y has to do with anything mentioned above. Say, putting a decal on a spline was any harder than implementing forward shading or vulkan? definitely would have taken a fraction of that effort. So it mostly comes down to this:

If it happened Paragon needed Spline Decals I’m sure we’d have had it by now. Sometimes some love for community interest solves a lot of issues. And in this instance, everyone using UE4 needs that feature unless they’re still creating projects like this where roads are not a thing: :frowning:

^ ^ ^

Sorry if I come across as angry. But it’s genuinely frustrating that the community has been told twice to do it ourselves…

Look, Tim. Lets be reasonable. I might be speaking the loudest but I’m clearly not the only one in saying this is an issue. This is a feature that works natively on other engines and should have come working out of the box with UE4. That’s not hyperbole. It’s a fact. Talk to your engineers, your boss, or whoever you have to get it on the agenda. If you’re not the person to talk to, link this thread to the person who is and lets get this worked on. The forum exists for a reason. Lets get a dialog going.

But when you suggest that we invest the time and money to it ourselves and then give our work to you in the form of a pull request, it would be akin to us asking to only pay Epic 4% royalty from sales of our game for giving you proper working spline decals. We pay you the 5% for reasonable tools and features in your engine. This is true of Ark, Squad, Playerunknown’s Battlegrounds, and a multitude of other games are paying Epic a lot of money. The fact that you don’t have spline decals is flat out unreasonable in 2017.

Yeah, this would be extremely useful. It’s on my (shortening) list of Source Engine features that UE4 doesn’t have (Source doesn’t technically have splines, but it has overlays, which are like decals where you can manipulate the verts).

What is the reason this isn’t on the agenda? Can we hear from someone who would know?

It is currently backlogged, but that is mostly because the focus of engine features comes from either:

  1. Community interest: Threads like this, answerhub reports, social media posts and votes on the issues page (it’s at 0 votes right now) help determine that. Please keep giving feedback and make sure to specifically explain how you would expect the tools to work for the best results. The mesh editor is an example of a tool made from these kinds of requests.
  2. Large audience need: Generic tools that help out a large audience are prioritized highly. Sequencer, Niagara, Audio Engine and other tool overhauls fall into this category. This is probably the highest priority in general since it helps so many people.
  3. Epic Games project need: One of Epic’s projects needed it, so it was ported over from the game into a generic engine tool. AnimDynamics, VR Forward Renderer and Behavior Trees were created for this. These get added a lot since the tool is already done and it’s just a matter of porting and testing.

If the community keeps up interest in a request, it gets more attention from our devs. I suggest you make sure to bump the threads every now and again to keep developer’s eyes on the request.

We really need this for our project, please put it on the agenda. It would be extremely useful!

Thanks :slight_smile:

Problems with using a spline + mesh in UE4:

1. Mesh clipping with the surface geometry i.e clipping with landscape surface usually where the landscape isn’t flat.

2. If landscape material happen to use tessellation then the entire mesh is clipping with landscape surface.

3. Material on a mesh doesn’t support soft opacity map. Only decals do. And so there are no soft falloff along the sides. The hard transition from mesh to landscape surface is very harsh.

4. Sometimes can easily see the mesh is floating above the landscape surface.

5. Spline meshes can’t cross on each other without clipping through each other or floating on each other. That’s not how it should be in games being developed in 2017.

6. End of the spline ends up like this:

7. Additionally, removing the foliage manually all along the splines by hand is an extra pain.

Solution is Spline Decals!

1. Decals are projected onto a selected surface type i.e landscape. Therefor they don’t have clipping with the surface geometry whether it’s a slope, or uses tessellation etc.
2. Decals support soft opacity maps for smooth falloffs on the sides.
3. Decals are perfectly projected on the surface, you don’t see them floating anywhere.

4. Decals provide much better visual consistency when crossing each other, they don’t clip through each other, nor “float” on each other. They have a sort priority that let you decide which one is projected on the top.

5. Extra feature, foliage is automatically removed along the spline based on the selected width.

Now we’re dealing with hundreds of roads in our project and the current situation is very counter productive. Landscape spline is a tool to use for things such as rock formations, street lamps, trash cans along a street and things like that, using it to create the roads themselves is not an expectation to have from it. This isn’t affecting us only, I’m sure majority of people who need spline decals don’t know this thread exists here and certainly don’t know there’s a ticket they should vote on. But I think enough people have stressed the importance of this feature.

You the point about put over the tess is a good example

Well that image have actually a missing feature that was in UDK individual Lens Flares effects (that every game in earth have since 2007 or before)

I agree with mostly everything, but there’s one point in particular that I’d like to stress…

Given that spline decals would most likely be based on Mesh Decals (I could elaborate on why), this is false.
I’m gonna quote myself from this same thread:

as the code shows, even on short distances they don’t project perfectly into the surface (they always float a bit, and more as you go further away from it).
if you’ve used mesh decals, you might have already found out that they behave really really bad over long distances

and a couple extra comments:

this wouldn’t work if the crossing comes from the same spline, i.e. an “8”

also overlapping roads like that are really meh. I’d expect a crossroad!

No. In the example I provided the material is “projected” on the surface. There is zero distance between the spline and the destination surface and the spline doesn’t necessarily need to follow the landscape shape at all. That’s why it’s helping so much and saves a bunch of time.
Here you see the spline is floating 5 meters in the air but the projection on the ground is perfectly doing the job. (And it’s set to affect terrain only, so anything going between the terrain and the spline isn’t disturbing the material projection.

Please download any version of cryengine and check it out.

It’s working… better than those nasty results of Landscape Splines isn’t it?

For dirt paths and trails it works fine. Crossroads are a bit out of the scope of a spline decal.

you’re referring to the way CryEngine implemented it as if UE4 would implement it like that. What I’m describing is the behavior of the existing decal behavior in UE4 and extrapolating it to what I believe would be the natural step towards it being expanded into Spline Decals.

I can say that Spline Decals are a very very non-trivial thing to implement. We tried it at work (not me personally, but my co-workers) and deemed it too complex for many reasons.
Knowing that much already in the context of a UE4 implementation, I would strongly assume that if Epic ever does it it wouldn’t be based on the real Decals (the box decals that actually project into the geometry - that’s the non-trivial part), but would base it on the Mesh Decals (which aren’t real decals, they use a different pipeline under the hood and don’t project into geometry at all - they are basically a translucent material rendered in the deferred decal pass, with a few hacks like the code I showed in my previous post).

mind you, I’m not doubting the feature in the CryEngine implementation, or how much better it is compared to the current solutions we’re offered in UE4. I’m definitely one of those wanting this feature to exist, but I also want it to exist properly (unlike the Mesh Decals feature) :slight_smile:

btw IIRC the CryEngine decals are still using the old technique (geometry decals, not deferred decals as UE4) where the decal duplicates the geometry (and topology) of whatever is under it. I wonder how this technique works with terrain LOD in CryEngine (this didn’t fare well in UE3, decals would get swallowed by the landscape due to LOD)

I’d agree that a citybuilder crossroads like Cities Skylines would be out of the scope, but your self-overlap example is still not very pleasing IMO.
I’d say a good standard of quality would be KC: D (which is also based on CryEngine). yes it’s not perfectly seamless but it feels natural enough


@Chosker, KC is using the same decal I showed above. In the picture you linked it’s several splines that are overlapping and crossing on top of each other, it’s just the colors are the same and the water puddle decal in the middle makes it natural. Soft opacity is also playing a big role otherwise with hard edges there’s no way to get good results.