Jump to content
SOULSSAGA

GEOMETRY TO HAIR MANY METHODS

Recommended Posts

HI EVERYONE ! 

Nice to meet you All !

I have this project were i am trying to

CONVERT A Imported Obj  MESH into HAIR !

I sow this VIDEO And got so Inspired about Houdini Possibilities ...
 

And tried tried tried ... to no end ...



I Have gone As far as Selecting Some edges curves ...
( And spended 50 hours in one week just to discover how to do that : ) 

But i Reaaly cant convert to hair from There ...
Too many problems, points order .. Splines messed up .. been a hell : ) 

 

5bcde44a9c549_01-01-11_002-SIDEEDGESONLY.jpg.bb0fe0830f2a996bffcd7f91ed133807.jpg

I REACHED THIS FAR !!
But was so so hard ..

So many days to discover how by myself 

( Good thing Houdini After we discover how is Mostly Automatic ... ) 
That reaaly pleases me as i am So tired of always repeating tasks in other softwares

___________

I atach the Full project Bellow ...
For Houdini Wizards to Play and thinker with ...

: ) 

I Would love to Do a UNIVERSAL GEOMETRY to hair Conversion ...

From Game Low Poly , to Medium poly, to Sculped hair ...


Like in 3D coat Or zbrush ... muscles , spheres ...
 

 


post-466-1252442331.jpg
sze-jones-zsphere-hair-szejones-web.jpg?


I am more used to 3DSMAX / Hairfarm / Ornatrix / Blender hair Tool ...

There we can do this ... Hair farm got a Nice Geometry VOLUME to hair method for example like no other ...

But its Reaaly not for Imported meshes ... 

ss__2015_01_25_at_08_01_36__by_grico316-


I KNOW SOUNDS OD

Why not do hair directly in houdini ... 


( but When working with Other Artists in a Studio pipeline ... ) 

Artists they always prefer to MESH SCULPT hair ...

Then they give us This kind of hard Tasks ... of tracing the hair Shapes ...

Were we have to Topo trace And Draw all hair with many Hundreds Splines ... 1 by one ... -.-


( MAYBE WE CAN GET IN THIS TOPIC UPLOADED MANY .HIP METHODS )

Were we cover Many Ways of converting
many Tipes of Geometry to hair ... in Houdini .

I searched everywere -.-
Seams this is a Rare topic and no Examples Uploaded to web reaaly : ) 

Maybe we can make something Toguether and nourish the community ! 

:wub:

THANKS SO DEEPLY MUCH FOR YOUR SUPPORT !  

__
SOULSSTUDIOS

post-9328-0-19086200-1385505803.jpg


 

HAIR_FROM_MESH.zip

 

01-01-11_004.jpg

Edited by SOULSSAGA
  • Like 1

Share this post


Link to post
Share on other sites

HY EVERYONE ! 

Thanks for passing this Experimental
HAIR Resources Foundry Topic ...

As i Did already 50 hours of work in this project
And i am so tired of it : ) 
Reaching my limits ...

I decided to go CRAZY ...
Join up Floating Resources around the web 

And Go on ANOTHER Direction ...

( If i canot Extract Lines from geometry )
( Or Make Geometry Thick then / a Volume VDB / and make hair grow in The VOLUME Space ? ... ) 
 
Should be a Simple thing ... 


WHAT ABOUT GROWING LINES ALONG GEOMETRY ? 
Projecting points on Scull then let it grow hair naturaly Along ! 
 



-.-

Haha...

IT WAS POSSIBLE ...
( With Houdini every crazy idea is Possible xD ) 

But is Completly Uncontrolable ! lol ...
I WOUNDER how we could make it BEHAVE ? 
And Follow BETTER the Geometry ..

I ATACH the Work files in this post ...

MAYBE SOME HOUDINI WIZARDS ! 
Could Help to make it better For us ? 

And SHARE  .HIP Experiences With us ? 
I believe there are so many methods for this ...

Would love to see here more ideas and Workflow experiences 
..

THANKS SO MUCH ! 

___
SOULSSTUDIOS

 

01-02-01_001_-_GENERATE_HAIR_LINES_ALONG_GEOMETRY.zip

01-02-01_001 - GENERATE HAIR LINES ALONG GEOMETRY.jpg

Edited by SOULSSAGA

Share this post


Link to post
Share on other sites

Hello Soulssaga, Hello everyone,
I'm a new houdini user as well i have not made it to work as well but anyway here is my process, it seems close to working as the basic stuff needed are there (i hope so).

Process :

1- HairCards to Curves :
extract haircards and skin geo in different hierarchies,
put the haircards geo in a class loop - extract the origin point then project it on the skin geo - merge - simplify - smooth - add the root restroot rest attributs
and convert to nurbs curve
At the end ot he loop you have curves that match more or less the base haircards geo shape.

2- Hair Generate guides
generate guides on the skin with density attribut

3- Advect generated guides along curves created in step 1
Should work but does not.
Nodes are there to help : volumevelocityfromcurves and guideadvect node but the drawcurve is difficult to pass i think might the curves lack as treated as drawn curves inside this draw node.
Anyway : i have curves, i have vdbskin, skin, hair guides, and advection, there are material here that are needed for this to work but something is not well done

My file is here if some is interested in helping, it is 3mo large and purged all but essentials, 3mo because there's a need for the base geo for this to work : https://we.tl/t-ivQlV9vAhJ

Thanks.
++

  • Thanks 1

Share this post


Link to post
Share on other sites

Okay,

made it to work ;)
thanks to "ok++" from french houdinimatic Discord who gave me the correct polypath node in order for the loop to work ;)

 

Charlotte8_2-v3-5-AmiraSkin-1.jpg

Charlotte8_2-v3-5-AmiraSkin-3.jpg

Charlotte8_2-v3-5-AmiraSkin-4.jpg

scene2.jpg

Edited by lepetitnono
orthographic

Share this post


Link to post
Share on other sites
8 hours ago, lepetitnono said:

Okay,

made it to work ;)
thanks to "ok++" from french houdinimatic Discord who gave me the correct polypath node in order for the loop to work ;)

Charlotte8_2-v3-5-AmiraSkin-4.jpg

scene2.jpg

Wow looks Absolutely stunning !

Can we have please a .hip of that latest update!

You guys are amazing

Iv Been trying this for a long time, but was never able, so i given up and used BLENDER hair instead xD

Time to go back to the Magic of HOUDINI  I guess

 

Happy 2019 to you all 

 

Rubi

Edited by RUBI

Share this post


Link to post
Share on other sites

Looks cool.

With the long hair, I think the biggest problem is your input. Its som much easier if each "ribbon" is a single connected patch. Then you can run a forEach and copy curves to each patch in uv-space.

I`ve made a few of these systems and I always use NURBS. Its really simple to plot out hair if you know the parametric u and v direction.

 

Shout if you need some simple scenes.

Share this post


Link to post
Share on other sites
3 hours ago, mawi said:

Looks cool.

With the long hair, I think the biggest problem is your input. Its som much easier if each "ribbon" is a single connected patch. Then you can run a forEach and copy curves to each patch in uv-space.

I`ve made a few of these systems and I always use NURBS. Its really simple to plot out hair if you know the parametric u and v direction.

Shout if you need some simple scenes.

 

Would be Awsome if uploaded here some working .hip Examples scenes For us newbies : ) 

Thanks so much !

Edited by RUBI

Share this post


Link to post
Share on other sites

Hey,

i will post an explanation for those asking about a hip,
but i need to be sure this really works in other conditions and i am just another new user too so this will be at your own risk ;)

As you mentioned Mawi

3 hours ago, mawi said:

Looks cool.

With the long hair, I think the biggest problem is your input. Its som much easier if each "ribbon" is a single connected patch. Then you can run a forEach and copy curves to each patch in uv-space.

I`ve made a few of these systems and I always use NURBS. Its really simple to plot out hair if you know the parametric u and v direction.

 

Shout if you need some simple scenes.

There is a need for uvz just to have them along each curve and i was on my way thinking about it but now that you brought to the table another thing that looks important,
i'm interested in knowing a bit more about this as, i'm just in houdini for 8 months lots of the new concepts brought by houdini concerning basic 3d principles are still missing.

So you put a second for each at the end of the first and copy curves on each segment of the curve so to have correct uvs ? am i right ?
i don't anderstand,
what if you put uvs directly on the curves created in the first loop ?    i've seen a tut on putting uv coords "manually" (vex) on curves at gametutor would that work in that manner ?

I have not tried this with long hairs yet and there might be a problem with those long geos ...  

And thank you Mawi for your feedback,



Ok tomorrow, it's 2:00 here...     Cheers.

++

  • Sad 1

Share this post


Link to post
Share on other sites

HI THERE HI THERE !  ... ANY NEWS ON THIS ONE : ) 

tomorow was one week ago ...
And iv been waiting and waiting ...

As i cant figure out by myself ...
This is reaaly dificult ...
___

Any better / More complete files for us to play with please ? 


.. I am curently Trying to convert some Mdd Sims Xnalara ... hair to REAL HAIR with Houdini ... 

________
BUT I AM A TOTAL NOB .. Cant reaaly ... -.-

I Spend like 2 3 4 hours to each hair ...
AND is STILL LOOKS LIKE GARBAGE ...


And its Driving me crazy ! 

___

CAN SOMEONE HELP !!! And trow some Working Experiences here Plieaseee ...

____


Here are some Hairs i am trying to convert ...

YOU CAN DOWNLOAD HERE ! 

https://mega.nz/#!YYlS1QKS!ygEkgFmkstV-ykpjnSWahZteQqPG9zf7qU2d-Q83luo


Me and maybe millions would be reaaly thankfull ...
If Someone find a more automated way To Convert this kind of hairs ...
That dont involve like 8 10 hours doing it Strand by strand .... ^^

THANKS SO MUCH !



hair-dl.jpg
 

On 15/01/2019 at 1:04 AM, lepetitnono said:

Hey,

i will post an explanation for those asking about a hip,
but i need to be sure this really works in other conditions and i am just another new user too so this will be at your own risk ;)
 

I have not tried this with long hairs yet and there might be a problem with those long geos ...  

And thank you Mawi for your feedback,

 
Ok tomorrow, it's 2:00 here...     Cheers.

++

 

Share this post


Link to post
Share on other sites

Hello there,

i'm still trying to figure out how to make it working,
i've tried with two other hair styles cards from DAZ models, some you can buy, some you have at starting with daz /
results differ and they are not working : hair cards are not same kind of topology from hair style to hair style so what seemed working for short hairs is not for long ones and so for the short hairs,
it was working in that particular case but won't for the others.

Ribbons :
Hair cards are sort of Ribbons, there is either 4 columns or two columns ones so i've tried to put 4 and 2 into different groups and then afterwards treat two columns ribbons and 4 columns ribbons in different loops,
the 2 groups selection was based on measuring the area of the polygons in a for each connected pieces prims as a starter.
Groups differenciation based on prims area OR number of prims is not stable result, some two columns ribbons exists in the 4 columns group and vice versa.


So what is the process :

Say you have a a geometry object which is only the hair cards, you put that in a for each connected pieces, so to have then each ribbon at your disposale for dissection.
Now for each ribbon you need to get a curve as a result, that's the holy graal.

Solution 1 : sort and delete points 
So what i did with the ribbon is delete points by range, if you delete 3 points out of 4 you only get one point per prim (thankfully there's only quads in daz haicards),
So that should work right ?
but it's not as the point numbers are NOT numbered as to following the final curve we want (and that we see just in front of our eyes, shame!).
Then you place a sort node which, well, sorts the points numbers based on an attribute or a distance from any position in space of another point or from an axis you choose what you need.
It works in some cases but not them all > then you delete points and you get a curve that mimic the initial ribbon.
As i said it's not working in everycases and you have to adapt to each scenario so that's not automatic.
Place a polypath after the loop which will make a path from point to point that is recognised then as guides for hair.

Solution 2 : scale down each prim and fuze points / delete points / sort / and then polypath
Each ribbon is made of primitives polygons connected each other, you split them so each point shared on two polys is then 2 points. Then you resize each polygon to a very very (very very) small sized poly,
and then you fuse the points based on a small distance : each polygon is now a single point on the center of the polygon you had at loop begin / put down a delete node so to delete primitives, polygons everything you don't need
to keep it clear with points only.
Now you see with what you get that you can just delete some of the points to get something that looks like unique points following the surface of the ribbon in straight line.
If you work from a ribbon with only one column do nothing and place a polypath after the loop which will make a path from point to point that is recognised then as guide for hair.
If you work with two columns ribbons then delete one point out of two with the delete by range and follow the process /
If you work with 4 columns delete 3 out of 4 in the delete node and so on and so on.

For this there is something i lack : it is to determine outside or inside the loop : the number of the columns there is on the ribbon !
as i've wrote : i've tried to detemine it from the measure node : measuring area : 4 columns will be of a greater area than two i thought : but some ribbons have two columns and are very long : area big,
while some ribbons with 4 columns are small enough resulting is smaller area than 2 columns ribbons...  
Then i gave a try at the number of prims and the same scenario happens again as 2 columns with super long ribbon will be superior to 4 columns in a small ribbon /.
So here is where i stopped for now.

If someone could push it further it would be cool ;)
thanks,
++

 

Edited by lepetitnono
orthographic

Share this post


Link to post
Share on other sites
Posted (edited)

This might be of interest
http://linjieluo.com/files/18-SIGA-3DHairSynthesisUsingVolumetricVAEs.pdf 

 

However we can now solve this by default in houdini by growing and advecting hair based on volumes with the "guide advect"  node set to 'Fill collision field' or 'Fill velocity field'.
(given the fact that in a for loop you can convert every hair-card into volumes thsi does not only work for volumes, but also for cards) 

Edited by rpdacosta

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×