So my problem is a bit hard to explain. I have a character made out of a jello shell, with an internal skeleton. So let me introduce you to ma boi "Chonker McJello"

Chonker 1

Chonker 2

The problem is, that I want a rich green slightly transparent jello, without loosing too much details and "whiteness" on the internal skeleton. If I turn the transparency or saturation of the jello down, the jello looks ugly, if I put the jello as I want, the Skeleton looses too much details/turns green. I have thought of different approaches, but do not really know how to achieve the effect I want.

  1. Single sided emission: Is there a way to make the jello glow internally and light the skeleton up? The emission should only come from the backfaces.

  2. Doing something with the render layers, like rendering the skeleton with transparency on top of the jello again, to make it appear "less affected" by it's color

Everything I have in mind sounds easy but is propably pretty complicated and I don't have a lot of experience with shadergraphs and unity's hdrp. If you have any idea how to achieve the desired effect (maybe not in the way I thought) I would really appreciate your help!

Thanks a lot!

  • \$\begingroup\$ For the record: the "single-sided emission" suggestion is not a thing in rasterization-based realtime tendering. Polygons don't shine light onto other polygons, the way you might be used to thinking of illumination in the real world or in raytracing/path tracing contexts. Typical game lighting is a massive simplification, where the only light comes from points, directional sun sources, reflection probes, or (occasionally, and generally expensively) area lights. Using a mesh as a light source is just not something we can do efficiently with these techniques, let alone making it shine one-sided. \$\endgroup\$ – DMGregory Mar 25 at 12:01

I'd render the jello twice.

Once: drawing only back faces, with high opacity, to get that rich green jello colour behind your skeleton. This pass could even be opaque if you like.

Then a second time: drawing only front faces, with low opacity, just to get a mild green tint over your bones, and catch the specular highlights and fresnel reflection.

You can set up two different materials for this - controlling the behaviour of each pass independently - and assign them both to your mesh to render them sequentially.

  • \$\begingroup\$ That sounds like a perfect idea! Didn't think of it. At the moment I just have 0 clue abkut render layers and shader graphs etc. so do you know any ressources to get me started? \$\endgroup\$ – Megaloadon Mar 25 at 11:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.