up4 Posted November 16, 2014 Share Posted November 16, 2014 (edited) Hi all, With all the buzz around digital humans, I wanted to research that within Houdini. I have some questions about Houdini's fur engine when used for human hair. Please refer to attached pictures. The skin shader is from Dany Bittel. I might start another thread on human skin once I understand this shader a little better. I have a problem with intersecting geometry (see "gold mascara" around the eyes) and displacement now (I removed displacement for now because it caused unexpected results). I will focus only on hair for now. Starting with the face. First, thanks to Mawi and Illuminator on this thread,I could integrate rough UDIM textures to feed the fur system for hair density (first picture). Here is my first question. I don't entirely understand the relationship between the fur node's "Render Density" and the furdensity attribute. Æsthetically, should I base the "Render Density" parameter on the area where one finds maximum density (and furdensity attribute map at its whitest) on the human body (I assume this to be hair on the sides and back of the head)? Or an are where hair density is more "average" (like the eyebrows area)? What would make more sense? Once I'm decided over the best strategy for a "Render Density" value, I will paint a comprehensive furdensity attribute map accordingly (based on 8-bit integer values): hair on the sides and back of the head: 255 hair on the top of the head: 170-200 eyebrows: 128-200 beard and mustache: 100-128 sideburns: gradient from ~255 to 100-128 cheeks: gradient from 0 to 100-128 Is there any guide or research (easily applicable) on this? Right now, I'm only analyzing pictures of facially hairy men. It might be the best method anyway. Once I was generally satisfied with hair density, I did a rough normal combing for fur direction (second picture). Using a visualization method from Andrew Brown that is quite fast. Here I have a second set of questions: I don't understand the skin offsetting when combing. Can anyone explain it a little bit to me? What would be an ideal displacement distance for human hair if such a question even makes sense (in the vopsop, I used a value of 0.005 from the default value of 0.01 because I couldn't reach the mustache area under the nose properly otherwise). Is it somewhat related to the combsop's "comb lift" parameter (I left it to the default 0.5)? Needless to say, I do not understand at all the "comb lift" parameter either. the paintsop's internal storage being a little opaque to me, I would like to save the resulting normal maps to an UDIM set of patches. is that even possible? at render time, after combing, I get that some generated geometry is "out of bounds", could it be because some hair tips are trying to re-enter the skin surface? It all goes back to normal after I "Reset All Changes" on the combsop. Why is that happening? That's it for now. I have many days of exploration ahead of me! Thanks in advance for comments + advice. Regards, Vincent Edited November 16, 2014 by up4 Quote Link to comment Share on other sites More sharing options...
Mandrake0 Posted November 17, 2014 Share Posted November 17, 2014 have you seen the Fabio hair System? https://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=34347&highlight=fabio Quote Link to comment Share on other sites More sharing options...
up4 Posted November 17, 2014 Author Share Posted November 17, 2014 Haven't before. Looking at it now! Thanks! V Quote Link to comment Share on other sites More sharing options...
mawi Posted November 17, 2014 Share Posted November 17, 2014 If i remember correctly... render density(slider) * polyarea(rest) * furdensity(attribute) * density map(texture)= amount of Hair/polygon. Quote Link to comment Share on other sites More sharing options...
up4 Posted November 18, 2014 Author Share Posted November 18, 2014 Thanks, Martin. Preparing my next post soon, incorporating as many new things as I can! Quote Link to comment Share on other sites More sharing options...
up4 Posted November 23, 2014 Author Share Posted November 23, 2014 So I want to save fur attributes obtained through combing/painting to a UDIM texture set. I used a sphere for this test case to which I have added UVs and a rest sop before adding fur. I paint fur direction. I toggle visibility on for the skin object inside the fur object. I create a micropolygon Mantra ROP where I override the resolution. I set the UV render object to the skin object. I add an extra plane for the "furdirection" "VEX Variable". I click render on the ROP. This is what I get: I guess having scattered points instead of the original geo points wouldn't be a problem if I was also getting smoothly interpolated attribute values for the whole surface at the resolution I chose, but instead, I'm only getting values at point location. Would a smooth interpolation of the attribute values over the whole surface be possible? If so, how? I'm not even sure that I'm getting the actual attribute I want as I didn't try to feed it back to the surface as an attribute map. Thanks in advance for the help. Regards, Vincent Quote Link to comment Share on other sites More sharing options...
up4 Posted November 23, 2014 Author Share Posted November 23, 2014 FYI: I actually put the UV pattern on top of the Mantra output for reference and put the grid pattern in the background to show the output alpha. Quote Link to comment Share on other sites More sharing options...
up4 Posted November 25, 2014 Author Share Posted November 25, 2014 FYI: I asked how to save the product of a combing operation to normal maps in Blender because they have a nice combing tool too. If it is possible, I will try to plug the result back into Houdini's hair system. Quote Link to comment Share on other sites More sharing options...
up4 Posted December 22, 2014 Author Share Posted December 22, 2014 Call me crazy, but I will try to work a minimal fur setup for this based exclusively on the Fur SOP (as opposed to the Fur SOP for viz and the Fur Mantra procedural for rendering) and attribute maps (instead of guide, separation and clumping geometry). I want things to be simple and portable, easy to collaborate with map painting artists (the attribute maps should be easy to lay over the skin textures with the same UV UDIM mapping). Keeping it minimal and portable is important since I don't know what the H14 Fur framework will look like and I don't want to do it again. And having it all interoperable with Arnold and Renderman is a plus too. I abandoned working with Blender because it won't allow exporting normal maps in UV tangent space coordinates like I seem to be able to do with Houdini and Mantra. Anyways, now I'm wondering if there is any gotcha anyone here can think of with a fur system relying only on the Fur SOP (besides performance: I work on a dual-Xeon workstation with a 3-way SLI GPU configuration). Is there anything I should know now about this method? Also, I looked everywhere for the reason why when painting and combing on the skin, the target geometry is a positive offset displacement of the original skin surface that looks swollen. Does anybody knows why? It looks like there is indeed a difference, but I don't know why. Happy Holidays! Quote Link to comment Share on other sites More sharing options...
Stalkerx777 Posted December 23, 2014 Share Posted December 23, 2014 Call me crazy, but I will try to work a minimal fur setup for this based exclusively on the Fur SOP (as opposed to the Fur SOP for viz and the Fur Mantra procedural for rendering) I think this is absolutely OK. Our fur pipeline (in his second reincarnation) don't use mantra procedural. Our tests shows, that using procedural wont give us any benefits at all. It is if you render with Micropolygon engine, but not with PBR. 1 Quote Link to comment Share on other sites More sharing options...
up4 Posted December 23, 2014 Author Share Posted December 23, 2014 Hi! Thanks for your reply! However I found one caveat with the Fur SOP: render time subdivision of the skin. As with most organic surfaces, I turn subdivision on at render time for the skin surface. It appears that the Mantra procedural has access to the subdivided skin before it generates the fur geometry. It is obviously not the case with the Fur SOP. I'm not sure what is the best way to handle that. Did you get and solve this with your SOP-only system? I don't want hair to intersect the skin or to float in the air… Regards and happy holidays, Vincent Quote Link to comment Share on other sites More sharing options...
mawi Posted December 25, 2014 Share Posted December 25, 2014 (edited) Call me crazy, but I will try to work a minimal fur setup for this based exclusively on the Fur SOP (as opposed to the Fur SOP for viz and the Fur Mantra procedural for rendering) and attribute maps (instead of guide, separation and clumping geometry). I want things to be simple and portable, easy to collaborate with map painting artists (the attribute maps should be easy to lay over the skin textures with the same UV UDIM mapping). Keeping it minimal and portable is important since I don't know what the H14 Fur framework will look like and I don't want to do it again. And having it all interoperable with Arnold and Renderman is a plus too. I abandoned working with Blender because it won't allow exporting normal maps in UV tangent space coordinates like I seem to be able to do with Houdini and Mantra. Anyways, now I'm wondering if there is any gotcha anyone here can think of with a fur system relying only on the Fur SOP (besides performance: I work on a dual-Xeon workstation with a 3-way SLI GPU configuration). Is there anything I should know now about this method? Also, I looked everywhere for the reason why when painting and combing on the skin, the target geometry is a positive offset displacement of the original skin surface that looks swollen. Does anybody knows why? It looks like there is indeed a difference, but I don't know why. Happy Holidays! I guess you already know this but... The fur procedural is just the mantra part of the fur, the skin and Guide shader works perfectly without it. The skin and guide shaders are almost like attribute vops with built in interpolation of skin and guide attributes. With the h13 introduction to generate geometry in cvex Im trying to find time to build my own fur SOP, skin and guide shaders with a bit more controll over the interpolation. I dont like the procedural because you need so many nodes/networks in the render scene and in general I prefer to publish geometry instead of networks. The offset you can find in fur/skin/displayoffset. Dont ask me what its good for, its one of those parm I drag to zero everytime I start with the fur shelf. Hi! Thanks for your reply! However I found one caveat with the Fur SOP: render time subdivision of the skin. As with most organic surfaces, I turn subdivision on at render time for the skin surface. It appears that the Mantra procedural has access to the subdivided skin before it generates the fur geometry. It is obviously not the case with the Fur SOP. I'm not sure what is the best way to handle that. Did you get and solve this with your SOP-only system? I don't want hair to intersect the skin or to float in the air… Regards and happy holidays, Vincent The fur procedural doesnt generate fur on the subdivided surface. Ive seen some solution that involves displacing the strands, but usually I just subdivide the skin to a workable level. Edited December 25, 2014 by mawi Quote Link to comment Share on other sites More sharing options...
up4 Posted December 25, 2014 Author Share Posted December 25, 2014 Hello! I know that the CVEX shaders work with the fur sop but I have yet tot find how to extract the ones from the shelf setup and remove the references to other part of the network and make them completely independent. Or did you write yours from scratch? But I didn't know whether the procedural generated hair on the original geo or the subdivided skin (it seemed that there was some subdivision, but I guess I was wrong). So thanks for the information. I think I will do a mix of subdivision on the skin geo copy I feed the fur sop and also offsetting it inwards with regards to the normal to avoid floating strands. With all of this, I see no more reason for the procedural, then. Happy holidays! Thanks for taking the time. Quote Link to comment Share on other sites More sharing options...
mawi Posted December 26, 2014 Share Posted December 26, 2014 Hello! I know that the CVEX shaders work with the fur sop but I have yet tot find how to extract the ones from the shelf setup and remove the references to other part of the network and make them completely independent. Or did you write yours from scratch? But I didn't know whether the procedural generated hair on the original geo or the subdivided skin (it seemed that there was some subdivision, but I guess I was wrong). So thanks for the information. I think I will do a mix of subdivision on the skin geo copy I feed the fur sop and also offsetting it inwards with regards to the normal to avoid floating strands. With all of this, I see no more reason for the procedural, then. Happy holidays! Thanks for taking the time. Usually I use the default shaders with a few blocks I can slot in if I for example want to make the frizz length dependent or the guard hairs to be excluded from clumping. Quote Link to comment Share on other sites More sharing options...
up4 Posted December 27, 2014 Author Share Posted December 27, 2014 Ok. i'll try again, but last time I did, I failed to have them run out of the context of the shelf tool. Thanks! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.