Question about particle hair instanced objects inheriting Texture Colors

I'm doing something wrong here, and I'm not sure what. I'm in Blender 2.9, and I'm using a different feather texture than the one in the video. I've checked "from intancer" (thank you Duerer!) on the texture coordinate, and plugged my body color texture into the color slot of Principle BSDF. But what happens is that instead of the instance feathers taking on the colors of the mesh underneath, all the feather instances take on the color of the feather object's location in the UV map. I'm attaching a pic of my node set up. Any thoughts?

  • spikeyxxx replied

    I think that From Instancer only works in Cycles and you are in Material  Preview Mode, which uses Eevee.

    Cycles:

    And Eevee:

    Might be more going on, but at least switch to Cycles.

  • bkol replied

    Ah! Haha, yep, that's it! I figured it was probably something simple like that. Thank you!

  • bkol replied

    I have another question about this. I've got the feather and hair systems taking on the body texture, but both of them are rendering with black "strings" attached to every instance of the feathers and hair particles. You can see it particularly in the hair system and at the edges of the feathers. Any idea what this is from and how to solve it? The images show the materials I'm using for the hair system and feather system.

  • spikeyxxx replied

    I have no idea what is happening in your case, we might need the advice of duerer here.

    What I can tell you is that you put a grey socket (single value) into a purple socket (vector: X, Y, Z-axes values), which puts that single value into all 3 axes:

    instead you should use a Vector > Displacement Node:

    Now, in the other screenshot:

    you take the color output of your (to me unknown) texture and plug it into the Base and Subsurface  Color. And drive the amount of Subsurface Scattering with the Alpha Channel of that mysterious texture. But you also plug the color info (RGB) into the Factor of the Mix Shader! NEVER do that! NEVER plug a color output into a grey socket. 

    EDIT: If the Texture is B&W, then the Color output is B&W, so then it doesn't matter.

    What happens is that the Color (RGB) is being turned into a single value by this formula (in Blender, there are other, similar formulae for the Luminance, what is what this is called):
    which is implemented per the ITU-R standard as 0.2126R + 0.7152G + 0.0722B. Completely unpredictable behavior!

    No matter what your FeatherAlpha texture looks like, this setup seems to me as being  'pretty f*ed up'.

    Maybe you want to use the Alpha output of the texture as a Factor in the Mix Shader?


  • bkol replied

    Oops, I forgot to change the color space to non-color on both of those! Unfortunately, that doesn't help with the weird black strands. I'll see if I can get Duerer's advice. Thanks again!

  • spikeyxxx replied

    Yes, that's why I tagged him (duerer) 🙂.

    Btw. switching to non-color data in a Texture Node doesn't make it a black&white texture! It just means that the colors are interpreted differently....

  • bkol replied

    Ah, I didn't realize that about tagging! Good to know. I actually posted something to him on one of his threads with updated images also showing my particle settings. 


    Yeah, the texture I was using was an alpha, so should have been non-color to begin with!


    Thanks again!