Search Unity

Double sided shader in shader graph won't stop or reflect light from 'inside'

Discussion in 'High Definition Render Pipeline' started by spelafort, Oct 29, 2019.

  1. spelafort

    spelafort

    Joined:
    May 8, 2017
    Posts:
    37
    Hi all,

    I'm trying to make a shader using shader graph (HDRP, 2019.2.2f1). I'd like to be able to have parts of the texture as see through (like a grate), and place a light inside to create a kind of projector show-- think of those sort of old school planetarium projectors.

    First image below is my shader, which is double sided both in shader graph and on the material.

    Capture.PNG

    So the shader works, and does appear to be double sided. However, the problem I've run into is that placing a light inside of the sphere just causes this (second image) to occur.

    Capture2.PNG

    As if light weren't hitting the inside at all. So there's no 'light show' through the grate. My suspicion is that this might be a limitation of real time rendering, and perhaps just can't be done inside of Unity (or without raytracing? or with Blender?). BUT it would be great if I'm just missing a setting or two, and I'm inexperienced enough in HDRP that I wonder if this is what's happening... If someone could set me on the right track, I'd forever appreciate it :)
     
  2. spelafort

    spelafort

    Joined:
    May 8, 2017
    Posts:
    37
    Bumping this, as I tried the raytracing demo project from the 2019.3 beta.

    The effect is much the same, and what I've noticed is that the transparent parts move (by UV translation) in the game view but not the scene view. Which leads me to believe that this all has to do with rendering order. I will keep playing around, but any tips -- or just the advice that I should give up-- would be appreciated :)