SSShader base- mouth looks open.. and other weirdness

Lissa_xyzLissa_xyz Posts: 6,116

I'm just getting back into DS after like a 6 month or so hiatus, and figured I'd give this Subsurface Shader Base a go, but as you can see, I'm having some issues. The left half is a spot render, the right is the viewport (does it too in an actual render). I've tried different skins/uvs to no avail. No idea what's going on. I didn't mess with any of the settings, except maybe trying to set the SSS to SkimMilk and Skin. I did peek at the Usage ReadMe, but since I'm not really sure what to call this problem, I'm not sure how to look to fix it. Any help is appreciated.

DS 4.6 64bit

Shaderbase_whatthe.jpg
589 x 830 - 179K
Post edited by Lissa_xyz on

Comments

  • JimmyC_2009JimmyC_2009 Posts: 8,891
    edited December 1969

    What exact character is that?

    I have just tried this on Genesis with the basic Male and Female, and it renders as I would expect. I am using DS4.6, and Win 7 64 bit too, so maybe I can help?

  • Lissa_xyzLissa_xyz Posts: 6,116
    edited May 2013

    I'm using the V5 Gabi char; however, I've tried it with both her own mat and a V4 UV/skin. I've also tried it with a random dialspun character and a completely different V4 skin.

    /edit
    It seems to be a hit or miss for me as I'm not getting the issue with Tamesis. o_O Do you happen to have both Gabi and Tamesis and could possibly tell me what may be causing it on one, but not the other? Whatever's causing it for me on Gabi may be the same issue on the other skins I get the problem on.

    Post edited by Lissa_xyz on
  • JimmyC_2009JimmyC_2009 Posts: 8,891
    edited December 1969

    I loaded Genesis, and then loaded Gabi from Genesis > Characters, I had previously had the SSS sahder loaded, but when I loaded the Gabi for V5 DUF file, it overwrote that, and applied the default DS shader.

    I loaded the SSS shader onto Gabi, and rendered, and I got the same as you, not much help I know, but at least it is happening to someone else too :)

    I didn't touch any of the settings for the new shader at all, and there is no Displacement being used. I am sure someone will figure it out for us.

    Untitled-1.jpg
    722 x 672 - 216K
  • Lissa_xyzLissa_xyz Posts: 6,116
    edited December 1969

    Thank you for confirming I'm not completely insane (at least in this regard). lol
    Shader settings were always something I used suggested settings by other posters. Never could get it down good enough to debug things myself. >.<</p>

  • Lissa_xyzLissa_xyz Posts: 6,116
    edited May 2013

    Not to double post, but I realized what was going on. According to a thread where Belovedalia achieved some even more scarier results, whenever there is no displacement map used, the min/max displacement must be set to 0. This fixed it for me.

    I guess I'll just have to remember to check this every time from now on. I don't even know what a displacement map does; I just figured I'd give the fix a shot since her results were wonky as well.

    Post edited by Lissa_xyz on
  • JimmyC_2009JimmyC_2009 Posts: 8,891
    edited December 1969

    I was going to try that myself, among other things, but it works for me too, result!

    It is a surprise that the displacement Strength sliders still affect the image, even though there is no map loaded, it was the first thing I checked, and if there was one, I would have set it to 'None'. At least we know what is going on now Vaskania, thanks for your help.

  • WilmapWilmap Posts: 2,917
    edited December 1969

    Glad someone found out the problem, as I had this happen as well.

    Will remember that next time. Thanks.:-)

  • SzarkSzark Posts: 10,634
    edited December 1969

    Yeah it states in the new SSS shader PDF that when there are no Displacemet maps used is to do just that...zero in MIn and Max. Sorry for not connecting the two for you but at least you figured it out. :)

  • SimonJMSimonJM Posts: 5,979
    edited December 1969

    Szark said:
    Yeah it states in the new SSS shader PDF that when there are no Displacemet maps used is to do just that...zero in MIn and Max. Sorry for not connecting the two for you but at least you figured it out. :)

    We now need a 'script kiddie' to cough up a script that parses all surfaces in a scene, check to see if they have the SSS shader applied and if so zero out displacemnt when no map is present ... ;)

  • Richard HaseltineRichard Haseltine Posts: 100,551
    edited December 1969

    At a quick test this seems to work - if a few of you feel brave enough to try it and can confirm it works I'll post it properly:

    // Zero Displacement
    // Copyright (c) Richard Haseltine, May 2013
    
    // Zero displacement min/max if strength is 0 for
    // compatibility with the SSS shader
    
    var nodes = Scene.getNodeList();
    var roots = [];
    
    // Get skeletons for figures
    // and add them to list of roots
    // along with all non-bone, non-figure nodes
    // that have geometry (watching for figures
    // which may already have been added)
    for ( var n = 0 ; n < nodes.length ; n++ ) {
     if ( nodes[ n ].inherits( "DzBone" ) ) {
      roots.pushIfNotExists( nodes[ n ].getSkeleton() );
     }
     else if ( nodes[ n ].getObject() ) {
      roots.pushIfNotExists( nodes[ n ] );
     }
    }
    
    // Colect surfaces
    var materialList = [];
    var object, shape, materials;
    for ( n = 0 ; n < roots.length ; n++ ) {
     object = roots[ n ].getObject();
     if ( object ) {
      shape = object.getCurrentShape();
      if ( shape ) {
       materials = shape.getAllMaterials();
       materialList = materialList.concat( materials );
      }
     }
    }
    
    if ( materialList.length > 0 ) {
     beginUndo();
     
     var dispControl, maxControl, minControl;
    
     // Go through the materials looking for the 
     // SSS Displacement Strength setting
     for ( n = 0 ; n < materialList.length ; n++ ) {
      dispControl = maxControl = minControl = undefined;
      dispControl = materialList[ n ].findProperty( "Displacement Strength" );
      if ( dispControl ) {
       // If we have the control, is it set to zero?
       if ( dispControl.getValue() == 0 ) {
        // if it is zero, zero the Min and max settings too
        maxControl = materialList[ n ].findProperty( "Maximum Displacement" );
        if ( maxControl ) {
         maxControl.setValue( 0 )
        }
        minControl = materialList[ n ].findProperty( "Minimum Displacement" );
        if ( minControl ) {
         minControl.setValue( 0 )
        }
       }
      }
     }
     
     acceptUndo( "Zero displacement bounds" );
    }
  • JimmyC_2009JimmyC_2009 Posts: 8,891
    edited December 1969

    I just tried it Richard, and it works fine. I loaded the shader on Genesis/Lana, and the values start at zero anyway, but when I loaded the Gabi MAT, and applied the shader, they went to plus and minus 10. Using the script zeroed them.

    I set the values myself to a large number, ran the script, and they both zeroed again.

    Thanks Richard, it works well.

  • Lissa_xyzLissa_xyz Posts: 6,116
    edited May 2013

    Szark said:
    Yeah it states in the new SSS shader PDF that when there are no Displacemet maps used is to do just that...zero in MIn and Max. Sorry for not connecting the two for you but at least you figured it out. :)

    The problem for me, was that I didn't know exactly what it was that would've caused it. As said above, I don't even know what a displacement map does to even think about it. Now if there were say maybe pictures in that documentation to show what an non-displacement map having mat may look like it might've helped. ;)

    Post edited by Lissa_xyz on
  • SzarkSzark Posts: 10,634
    edited December 1969

    Vaskania said:
    Szark said:
    Yeah it states in the new SSS shader PDF that when there are no Displacemet maps used is to do just that...zero in MIn and Max. Sorry for not connecting the two for you but at least you figured it out. :)

    The problem for me, was that I didn't know exactly what it was that would've caused it. As said above, I don't even know what a displacement map does to even think about it. Now if there were say maybe pictures in that documentation to show what an non-displacement map having mat may look like it might've helped. ;)

    So you don't know what a displacement is or does...Google will help there.

    As for seeing if a prop/figure has displacement maps then all one needs to do is look in the displacement channel of the surfaces pane and see if a displacment map is in the displacement channel.

Sign In or Register to comment.