Shader Mixer not working as Tutorials explain

Long story short; I'm trying to create a blended texture in the shader mixer where one texture fades into the other.

I'm trying to use a combination of image map bricks, an altitude brick, and a mixer brick which then plugs into another image map brick which is applied to the diffuse texture of the object (I've tried it on a Genesis figure and a simple primatives).

 

I keep winding up with the same problem; the way the various tutorials I've read explain things do not result in what I want. Instead of a blended texture where one image fades into the other across the image I wind up with a solid gray color to the object which then will not go away even when I try to remove the shaders and reset the object (the only way to get rid of it seems to be to delete the object and start over).

 

Can I please have some help with this, as trying to create a blended texture that fades from one to the other is getting rather frustrating and none of the available tutorials seem to help (to the contrary, they seem to be making things worse, harder, and more confusing).

Comments

  • Richard HaseltineRichard Haseltine Posts: 102,805

    I would have expected to connect the Mixer directly to the Diffuse - going through another map sounds wrong.

  • hrscas_cc363e1a5dhrscas_cc363e1a5d Posts: 12
    edited July 2017

    I would have expected to connect the Mixer directly to the Diffuse - going through another map sounds wrong.

    The setup is like this:

    Altitude brick, and 2 image map bricks (which contain the textures I want to blend) plug into a mix brick. The output of the mix brick then goes into the diffuse of the final image map brick and then to the surface brick.

    in short:

    Altitude/imageMap1/imageMap2 ---> mix brick ---> imageMap3 ---> surface brick.

     

    To be honest, I can't even get the thing to display just a normal single texture with image map brick. I tried plugging an image brick right into the diffuse color and tried to stick a texture to the primitive (a cube) by putting the texture in an image map brick.

     

    In short:

     

    ImageMap (which is holding the texture, in this case a texture of a tree branch) ---> ImageMap2 (into its diffuse input) ---> surface brick.

     

    All I got was the same dull gray color across the primitive instead of a cube that looks like it's covered in tree bark.

     

    I really have no idea what I'm doing here and the tutorials are either too vague, too simplistic for what I'm trying to do, or the info in them is outright wrong even when I follow their procedures too the letter.

    Post edited by hrscas_cc363e1a5d on
  • Richard HaseltineRichard Haseltine Posts: 102,805

    what about

    ImageMap (which is holding the texture, in this case a texture of a tree branch) ---> surface brick.

  • hrscas_cc363e1a5dhrscas_cc363e1a5d Posts: 12
    edited July 2017

    what about

    ImageMap (which is holding the texture, in this case a texture of a tree branch) ---> surface brick.

     

    Tried that. That doesn't work either. I still get a dull gray image over the whole thing. I think the ImageMap bricks are the problem. Instead of an ImageMap brick, is there anything else that can hold a texture which will plug into the diffuse color section of the default brick?

     

    Strike that. Even just plugging a regular mix brick into the works and trying to override the diffuse color results in that gray color over the whole primitive or figure.

     

    I'm starting to wonder if something's corrupted and I need to reinstall DazStudio.

    Post edited by hrscas_cc363e1a5d on
  • BejaymacBejaymac Posts: 1,897

    The dull gray colour you are seeing, is that in the viewport or in a render ?

    If it's the viewport then that's normal, by pluging something into Diffuse Color on the material brick or directly into the Surface brick you no longer have a Diffuse channel, not a problem for 3Delight or Iray, major issue for the OpenGL viewport as it has no idea wtf to display.

  • Richard HaseltineRichard Haseltine Posts: 102,805
    edited July 2017

    Sorry, I should ahve asked that initially. Also, do bear in mind that shaders are generally engine-specific.

    Post edited by Richard Haseltine on
  • Bejaymac said:

    The dull gray colour you are seeing, is that in the viewport or in a render ?

    If it's the viewport then that's normal, by pluging something into Diffuse Color on the material brick or directly into the Surface brick you no longer have a Diffuse channel, not a problem for 3Delight or Iray, major issue for the OpenGL viewport as it has no idea wtf to display.

     

    That more or less was the issue. I didn't know that and the tutorials didn't explain that problem either. From the tutorials' perspective I thought you'd see the changed texture in the active viewport. Thanks for the correction.

     

    Sorry, I should ahve asked that initially. Also, do bear in mind that shaders are generally engine-specific.

     

    There is one more question I do have though; is it possible to anmiate the texture transition?

     

    From what I've seen, when in the shader mixer, when I move between two keyframes in the timeline and change the alpha value in a mixer block so that it has different values at each keyframe, if I go back and play the animation from the timeline whilst keeping the shader mixer screen open the alpha value will scroll between the two values that are at each keyframe.

     

    In short:

     

    I scroll on the timline to keyframe number 1. I then open the shader mixer and set the alpha value on a mix block to, say, negative 1.

    I then scroll on the timeline to keyframe number 2. I then open the shader mixer again and set the alpha value on the same mix brick to positive 1.

     

    Then, whilst keeping the shader mixer open, I scroll on the timeline back to keyframe one and hit the play button. The alpha value on the shader block scrolls between negative 1 and positive 1, going from "-1" to eventually "0" and then to "1".

     

    Considering this, is it possible to use this to make an animation where the diffuse texture, or some other texture or value, changes with the keyframes on the timeline. I could have a character, say, turn to stone as if staring into the eyes of medusa by using a mix block with inputs from a pair of imageMap bricks (one for a skin texture and one for a stone texture), or turn invisible if said character is a ghost (by having a mix brick connected to two other bricks that control opacity).

     

    Is this sort of thing possible in Daz Studio at all? I've heard that having texture animations or transitions is impossible, but I'm not sure, and I'm thinking now that this might be a way to do it.

  • Richard HaseltineRichard Haseltine Posts: 102,805

    the variable brick will give time or frame (or aybe both) which can be used to control a transition

  • hrscas_cc363e1a5dhrscas_cc363e1a5d Posts: 12
    edited July 2017

    the variable brick will give time or frame (or aybe both) which can be used to control a transition

    Is there a way to put a limiter on the alpha channel to keep it from exceding the value of one, or will I have to set up a series of arithmatic operators to control that?

    Post edited by hrscas_cc363e1a5d on
  • Richard HaseltineRichard Haseltine Posts: 102,805

    I think you'd have to feed through other bricks  -there's a clamp, or you could use Min to return the actual value or 1 as the case may be.

  • hrscas_cc363e1a5dhrscas_cc363e1a5d Posts: 12
    edited July 2017

    I think you'd have to feed through other bricks  -there's a clamp, or you could use Min to return the actual value or 1 as the case may be.

    Clamp trick did in fact work. Thanks for all the help; now I have a means to make animated transitioning textures. :)

     

    Here is the setup:

     

    Variable(Fixed) with the value of keyframes, and a Value brick with a value of 0.002 ----> the X and Y values of a Multiply Brick ---> the value of a clamp brick, which has a min and max of 0 and 1, respectively.

    Clamp brick ---> Alpha channel of a Mix brick that's set to color.

    Tiler brick whose S and T value go into the S and T values of ImageMap bricks 1 and 2, both image map bricks having their advanced inputs shown. This is to keep the texture in the right place on the figure.

    ImageMap brick 1 (which holds one texture) ---> base of the Mix brick as the beginning texture

    ImageMap brick 2 (which holds the second texture) ---> layer of the Mix brick as the final texture that will appear when all is said and done.

    Mix brick ---> diffuse color of the DefaultMaterial brick --->  color and opacity of the Surface brick.

     

    Simplified:

     

     

    Variable(Fixed) (frame number) and Value brick (value == 0.002) ---> Multiply Brick ---> clamp brick(min 0 max 1)

     

    Clamp brick ---> alpha channel of Mix brick.

    Tiler ---> ImageMaps 1 and 2 ---> Mix brick (base and layer)

     

    Mix brick ---> diffuse color of DefaultMaterial brick

    Default Material Brick ---> color and opacity of Surface brick

    Post edited by hrscas_cc363e1a5d on
Sign In or Register to comment.