Results 1 to 8 of 8

Thread: Hollow tube sub-surface scattering problem

  1. #1

    Default Hollow tube sub-surface scattering problem

    Hello. I've had this problem for a couple projects now where when I apply a SSS material to a hollow object, it shows no sign of scattering when I render. I will be working will a lot of models similar to this so I would like to find a solution to why I'm having trouble.

    This model was made in Maya 2009 with GI and FG on. There are 3 directional lights positioned around it. I'm using the misss_fast_skin_maya shader and it has the defaults set. You can see scattering in objects such as the spheres (alveoli) where there are no extrusions, but when I apply it to the airway tube it shows no signs of sss.

    I've tried tweaking a lot of the values like the radius and scale conversion with no luck. If anyone could help, I'd greatly appreciate it. Thanks.
    Last edited by Cimpy101; June 1st, 2009 at 15:03.

  2. #2
    Join Date
    Dec 2004
    Location
    Marina Del Rey, California
    Posts
    2,914

    Default

    Though it is hollow, it still has some thickness to it, right?

    Consider debugging a simpler version of your scene.

    Check to see that lightmap is attached and being used.

    One thing we do in class, just to adjust the top sss layer and know we're in the right ballpark, using the light map, etc. ...

    Turn all weights to 0 except the front sss, ie leave
    Epidermal Weight, (or even set it to 1.0 temporarily)
    but zero out
    Diffuse Weight (that's direct diffuse (lambert model))
    Subdermal Weight
    Backscatter Weight
    Overall Weight for Specularity

    Check your lightmap connections if you don't see anything. Are you using the indirect light for your light map?

    Then, adjust your blur/softness with the Epidermal Scatter Radius. It's easier to adjust if you have a sharp shadow from the direct light.

    After that, we adjust the Subdermal and Backscatter layers to have increasing softness, larger radii relative to Epidermal.
    Barton Gawboy
    Training and Special Projects, NVIDIA ARC
    LAmrUG Forum Originator

  3. #3

    Default

    Thank Bart,

    I tried your debugging technique on the hollowed airway and one sphere. While I set the weights to 0 except for the epidermal, my renders of the airway did not change by adjusting the radius. The sphere on the other hand was reflecting the changes I had made.

    I put together a few images showing connections and results. I cropped them as best I could to fit the page a bit better.


    In this image you can see the effects of changing the radius. You can see the effect on the ball, but no change on the airway.



    Results of turning everything off but the backscatter and cranking the weight up to 5.


    My hypershade connection and attributes of the mental ray texture and lightmap. Do you see anything that could be a problem here?


    As I mentioned before, this has happened with another project where I hollowed out a tube. The material works fine until I extrude it to add thickness. Thanks for the help so far. I hope to work this out.
    Last edited by Cimpy101; June 1st, 2009 at 15:04.

  4. #4

    Default scatter problem

    Its a feature.
    Because of the wall thickness of the airway pipe the sss shader thinks it has hit a solid object like a bone and doesn't scatter beyond the wall thickness. This looks great for light beind fingers but not in your situation unfortunately. Try separating the inner wall from the outer wall and attaching a non-sss shader to the inner wall.

  5. #5
    Join Date
    Dec 2004
    Location
    Marina Del Rey, California
    Posts
    2,914

    Default

    I don't quite know what the units are of your models, but I think I would have started with a smaller radius. In class, I start with a small enough radius, so that we see the sharp edge of shadows, then we blur from there.

    What is the number of units that represents your wall thickness, for example? Or the number of units for the diameter of the tube?
    Barton Gawboy
    Training and Special Projects, NVIDIA ARC
    LAmrUG Forum Originator

  6. #6

    Default

    Thanks guys. My units are Linear: centimeter Angular: Degrees. I'll try separating the inner and outer layers soon (I believe I have quick select sets for them already). For this specific project I had to move on without using SSS on it since I couldn't find a solution, but as I mentioned I'll run into this problem again eventually. I've found that putting SSS on almost everything else around it makes it to appear as if the airway itself had SSS applied.

    I'll post my results later.

  7. #7

    Default

    I know this is a little late, but I found the answer to this problem on CGtalk. Member Dreamdealer2099 has a good explanation:

    "Hello Cimpy!Well,in order to forecast a result that mi_SSS_Fast shader will give,you've got to know the way it works.Here is a little "schema" in attachment.There is a camera,2 lights sources and a surface in there.To calcualte a SSS effect,Maya has to distinguish front and back surface and then,depending on data stored in a lightmap,compute light's influence on both front and back surface.In order to define front and back surface Maya uses normals.If a normal directs in direction opposite to the camera,it's a back side,and vice versa.You may also notice that bump,diffuse,specular reflection takes place only on the front side of a surface.The fact that SSS effect is normal's direction depending can be also seen in your case.You have created a cylinder,you have placed 2 lights,render it-great,works fine.But let's see what happens when you apply the same light rig to the "pipe".Just because there is a poly row facing towards the camera (=front surface)it deceives Maya and causes different artefacts.So you can try to fix it by:

    1.Placing a light source inside of a surface.Adjusting SSS depth then will give acceptable results.
    2.Reverse the normals of a 2nd row of polys(those which faces towards the camera) and then place a light source in the opposite side of a surface.

    Information given here is taken from the initial MR sources and revised by me. "

  8. #8
    Join Date
    Dec 2004
    Location
    Marina Del Rey, California
    Posts
    2,914

    Default

    Well, that explanation is a bit confusing, so I'd like to help clarify. Then, I'd like to know more about your model.

    Indded, the fast sss shader captures light coming from the front and from the back into the lightmap. That is why the x resolution of the lightmap is twice what you really want.

    The top and middle layers re-use the light captured on the front. The back layer re-uses the light captured from the back. And when I say front and back, I mean with respect to the camera.

    Now, there is no actual photon simulation going on with fast sss, where they would travel through the surface. That was what the original physical sss models used. So maybe that is why we see the suggestion of putting light on the inside of the tube. That would simulate the light traveling through the back side of the tube hitting the inside wall of the front side of the tube.

    Now, which way does the normal on the inside tube face? Is it modeled as a single closed surface object, even though there is an inner and outer tube?
    Barton Gawboy
    Training and Special Projects, NVIDIA ARC
    LAmrUG Forum Originator

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •