Substitute for edge detection shader

Hello! I’m making a game, as we all may do, and stumbled upon a problem. It didn’t seem like it was going to be hard to solve at first, but after a bit of research, it seems the effect I want will have to be sacrificed in some way.

What’s the problem? I’m trying to make something like a shader effect that detects edges of parts. For example:
Manifold garden


Euclid
EuclidExample
AntiChamber

I’m aware that making custom shaders is impossible right now, but things like cel-shading and cartoon outlines arent. Though cel-shading, nor cartoon lines get the exact desired look I’m looking for.

If you can see the image above, (I didn’t make this btw) the outlines aren’t the same as in the examples. In the examples, the closest edge of a part is highlighted too, parts that share the same side don’t have a line between them, and parts that intercept each other at a 90-degree angle make a line.

Some rules I have made my self to find exactly what I’m looking for are:

  1. the edge of a part that are pointing towards the player must be highlighted.

  2. the further edges of a part must be highlighted.

  3. Any side of a part that is intersecting with the side of another part at a 90-degree angle, must have a highlighted line where they intersect.

  4. Parts that share a side with another part should not have a line between them no matter the colour/properties of this part. (So things like stairs don’t have a bunch of lines on the sides of them)

Example Images:
ExamplePart
ExamplePart2

Some other things that we can rule out is that I would do this by hand, but like antichamber with the player placed blocks, it would have to update the edges, and things like outlines/Legacy Outlines won’t work either since that would go against rule 4.

3 Likes

Sadly I don’t think there’s any way to do this currently. I wish ROBLOX let us create custom shaders, but there are a few reasons why they won’t do it: Post-processing effects - #33 by zeuxcg

Fully aware why custom shaders are impossible, but other then scripting or building all the parts outlines in, is their other outlining techniques that can be used?

I think the only way to do this would be to write a Script to create all the outlines on all the parts and also try to work with the edge-cases ba dum tss. This would be pretty hard to do, but at least you won’t have to do it all manually.

1 Like

I guess if their is no other solutions, I will just settle with that then. Thank you.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.