Why does the "Density" setting for texture controled hair growth only work with "Children Hairs" in Blender 2.90?

In Blender 2.90 it's the same as in version 2.66.1: The density setting for texture controled hair growth only works with "Children Hairs" turned on, best in "Interpolated" mode. How can this be explained?



  • spikeyxxx replied

    What do you mean?


  • Ingmar Franz(duerer) replied

    spikeyxxx I'm using a texture for controling the "Hair Density" and not a "Vertex Group" (please scroll down a little bit further in the "Particle System Tab" 😉):


    PS: I like your hairy Smiley! Or is it a pumpkin 😉?

  • spikeyxxx replied

    Sorry, still don't get it:

    PS: it was supposed to be a combination of a smiley and a pumpkin ;)

  • Ingmar Franz(duerer) replied

    spikeyxxx Please watch what  @theluthier says and shows from 16:50 to 17:20 in the video. I was facing the same problem.

  • spikeyxxx replied

    Very strange! Is that a bug? 

    Don't seem to be able to reproduce this with a simple example:

  • Ingmar Franz(duerer) replied

    spikeyxxx Really strange! I get the same result with that simple example:

    Could the combing of hairs  or the addition of shades of grey in the "Hair Density Texture" have an influence?

  • Ingmar Franz(duerer) replied

    It's still working without "Child Hairs" after combing:

  • Ingmar Franz(duerer) replied

    And it's also still working with a blurred texture created for introducing shades of grey:

  • spikeyxxx replied

    I do remember vaguely having similar problems with Textures and Density...

    Just don't know how to reproduce it easily...

  • Ingmar Franz(duerer) replied

    And a test with 1 million hairs:

    1) No children

    2) Children interpolated (children count set to 1):

  • Ingmar Franz(duerer) replied

    Controling the "Hair Density" with a texture but without using "Hair Children" also works on that simple mesh if I split the "UVMap" into "UV Islands":

    Maybe it's the complexity of Piero that makes the use of "Children Hairs" nececessary for the "Density" setting to work.

  • Ingmar Franz(duerer) replied

    So, now I've found at least partially out, why Blender uses the "Density Setting" for an "Image Texture" only if there're "Child Hairs" activated:

    1) If I paint and assign the "Hair Density Texture" before combing or otherwise manipulating the hair in the "Particle Edit Mode" the hairs will grow with "Density" checked in the "Influence Settings" of the texture only in areas that aren't 100% black. No "Child Hairs" are needed! This view is the same in "Object Mode", "Texture Paint Mode" and in "Particle Edit Mode"

    a) "Texture Paint Mode


    b) "Particle Edit Mode" before starting editing


    c) "Particle Edit Mode" after combing


    d) It looks the same after switching back to "Object Mode" . Here a view in "Object Mode" recreated later the same way as demonstrated above:


    2) If I comb or edit the hairs before assigning a "Hair Density Texture", then I need to activate "Child Hairs" in order to make this texture affect the hairs if I check "Density" in the texture's "Influence Settings". As soon as I do the first brush stroke in "Particle Edit Mode", the hairs get kind of baken, a "Delete Edit" button for freeing that bake appears directly under the mode selection buttons "Emitter" and  "Hair" in the "Particle Properties Tab" of the "Properties Editor":

    a) "Particle Edit Mode"

    The "Particle System Settings" are greyed out since the "Particle Simulation" has hander over the control of the hairs to the manual editing in "Particle Edit Mode".


    b) Creation of the "Hair Density Texture" in "Texture Paint Mode" with the combed hair visible


    c) The same view in "Object Mode" without "Child Hairs"


    d) The same view in "Object Mode" with "Child Hairs" (Interpolated)


    e) Switching back to "Particle Edit Mode" makes all hairs visible, even those which are hidden through the "Density Influence Setting" of the "Hair Density Texture" in case of the use of "Child Hairs":


    SUMMARY:

    1) Assigning a "Hair Density Texture" before editing the hairs in "Particle Edit Mode" makes the hairs only grow in areas that aren't 100% black. Therefore the view of the hairs is the same in "Object Mode", "Texture Paint Mode" AND in "Particle Edit Mode".

    2) Assigning a "Hair Density Texture" after editing the hairs in "Particle Edit Mode" doesn't influence the hair growth. The hairs grow everywhere, where the settings in the "Particle Properties Tab" of the "Properties Editor" allowed them to grow. The view in "Particle Edit Mode" shows all hairs" whereas the view in "Object Mode" hides those hairs that have grown in 100% black areas of the "Hair Density Texture". This masking is only working with "Child Hairs" turned on.


    The hair interpolation for "Child Hairs" takes all hairs into account, even those hairs hidden by a "Hair Density Texture" that has been assigned after manipulating the hairs in "Particle Edit Mode". This explains why I had a feather hanging at the beak of Piero even after removing the hairs on the beak (even those inside the beak and the throat!) . This feather was an "Interpolated Child Feather": 

    1) "Object Mode"


    2) Same view in "Particle Edit Mode":


    Conclusion: If I had assigned the "Hair Density Texture"  to Piero before combing the hairs, I wouldn't have needed any "Child Hairs" and would have simply set the "Hair Number" higher which would have given me a predictable behaviour of the hairs whereas "Interpolated Child Hairs" proved to be problematic.







  • Ingmar Franz(duerer) replied

    The big question nevertheless still remains: Why does assigning a "Hair Density Texture" after manipulating the hair in "Particle Edit Mode" still require "Child Hairs" for taking the "Hair Density Texture" into account if "Density" is checked in the "Influence Settings" of this texture? Is this a bug or an intended behaviour?

  • Ingmar Franz(duerer) replied

    Regrowing the hairs with 30.000 "Simulated Hairs" and NO "Child Hairs" (instead of the previous setting of 5.000 "Simulated Hairs" and 5 "Interpolated Child Hairs"  = 30.000 hairs in total) and using a "Hair Density Texture", I get this clean and predictable result:

    1) "Object Mode"

    2) "Particle Edit Mode" before hair manipulation

  • Kent Trammell replied

    duerer WOW I just finished reading your master's thesis on this issue! That's some serious troubleshooting. @spikeyxxx-level troubleshooting in fact. Perhaps this is worth reporting as a Blender bug?

    You two are a great example of people willing to figure out precisely why / how something works. People like you are the reason why Blender gets better every week.

    Meanwhile I will try a few times and move on to something else if I can't make it do what I want. People like me are NOT the reason Blender gets better every week 😅

  • Ingmar Franz(duerer) replied

    Thanks @theluthier 🙂! It's propably not a bug but simply how Blender is programmed. 

    I have a theory: 

    As soon as you edit the hairs in "Particle Edit Mode", the "Particle System Simulation" no longer controls the hairs and therefore the simulation settings are greyed out in the "Particle Properties Tab". But the "Children" settings are still accessible since they are an aesthetic addition.

    By activating "Children Hairs", Blender is forced to revisit the "Particle System Settings" in the "Non-Simulation Section" and with it the "Hair Density Texture". Since the "Particle Edit Mode" now fully controls the hairs, those hairs in 100% black painted areas aren't removed but just hidden in order to leave the removal of hairs to the  "Particle Edit Mode" which offers the "Cut Brush" for this task.

  • bkol replied

    Wow, again, thank you, Duerer! This is immensely helpful!