Procedural gradient falloff shading for a simple path

Spudnik
Spudnik polycounter lvl 13
edited Apr 2017 in Unity
I'm trying to build a system with which I can have any sort of geometry (mostly planes) the edges of which fade off into full transparency. Right now I'm simply using a black to white vertical ramp and mapping the corresponding faces to it white using a different shader on the 'path'. 

This has a few obvious issues: 
a) lots of hand authoring of edge meshes and their UVs, time intensive
b) not very flexible 
c) can't deal with multi-directional falloffs (see below) 


So, how would I go about setting something like this up in Unity? The the ideal scenario would be to have a system by which I can only author the path itself and generate the falloff edges based on a selection. Is something like that possible in Unity alone or would I have to use a hybrid approach where I generate the meshes in something like Maya and just do the shading here (I could automate that for the most part, but I'm still stuck on the shading part) ?  


Welcome!

It looks like you're new here. Sign in or register to get started.

Replies

  • You might be able to detect edge vertices, and apply vertex colors to them. So the gradient is vc not texture.
  • Spudnik
    Spudnik polycounter lvl 13
    Ah, great idea, I'll give it a try! Though I'll have to figure out a way to distinguish border edges that I want soft vs ones I want kept straight...

  • Spudnik
    Spudnik polycounter lvl 13
    OK, gave it a try, it's a good idea, works great in most cases and super easy to author. But the point where two gradients start intersecting becomes a problem because I cant get a smooth transition between the two gradients. Changing the geo/tessellation helps, but seems to shift the issue, not get rid of it completely. 


  • You might also try using the UV itself as a gradient. Similar resolution issues, but in authoring you have finer control over the rotation & scale.

    Shader Forge has examples on their site about how to use the UVs as a gradient.
  • I'd recommend possibly setting your gradient to an unlit shader as well. It will help with the sharp edges. Or if the plan is for the gradient to be replaced with a different texture later get your smoothing groups sorted.  You can also relax that corner vert before before tessilation, should give you a more radial gradient if that's what you are looking for.

Welcome!

It looks like you're new here. Sign in or register to get started.