Houdini clumping bugs and how to solve them

   4962   6   2
User Avatar
Member
12 posts
Joined: 9月 2019
Offline
Hi all! Hope I picked the right section for this one, because the topic doesn't really has a question inside.
For anyone interested in grooming with Houdini I inspected the behaviour of SideFX clumping node, showing a couple of flawed behaviours, and developing my own clumping node to be used in grooms without experiencing the issues.



Would love to hear your thoughts.
User Avatar
Member
11 posts
Joined: 10月 2015
Offline
Hi! This looks great, I was frequently having issues with thin geo and clumps going in and out. Are you planning on releasing your clump node? All best, Tomasz
User Avatar
Member
12 posts
Joined: 9月 2019
Offline
Thank you Tomasz. Well, not many people asked for a release… so I still don't know. Performances are good, basically is as fast as the native one, so I might consider a release if people keep asking.
User Avatar
Member
11 posts
Joined: 10月 2015
Offline
You ve got my full support on that
User Avatar
スタッフ
656 posts
Joined: 8月 2013
Offline
Hi,

this is like the best bug report ever, lots of effort on the video alone! Thanks for that.

The first bug, with hairs finding clumps by any point on the curve, is fixed in tomorrow's build. I'm very surprised that wasn't found before, but it was a one line fix.

With the thin geometry problem, I'm taking a bit more time to get the right solution. It'd be great to hear what you did (geodesic distance, normal direction cutoff, something else) and how performance & quality are in production.

Cheers,
Kai
Kai Stavginski
Senior Technical Director
SideFX
User Avatar
Member
12 posts
Joined: 9月 2019
Offline
Hi Kai.
Thank you for your appreciation!

I understand that the first bug can be literally a single line of code. I think that maybe it wasn't found before also because now more and more experienced Maya artists (like the colleagues I cited) are picking up Houdini for groom, and many of them are carrying a really solid workflow they try to recreate in detail.

As for the second bug, I think that, ideally, geodesic distance should be replaced to Euclidean distance to get it right. I was looking for nodes or functions giving something similar to me for free and I saw that there's actually a function to evaluate geodesic distance between points if the points are part of the topology. So my thought was that I had the option of using the skinprim for each hair and measure things on the body mesh topology itself… but I was a bit concerned about getting tessellation artifacts with low density meshes.
So I ended up with just evaluating how different hair normals and clump guides normals are, setting up a threshold to prune guides that shouldn't “compete”, and I was happy with that. Also because I could use the same evaluation metric to add a falloff to the clumping effect wherever the elected guide, although inside of the threshold, is still quite far, angle-wise.

With regards to performances I built this with my knowledge of Houdini, so simply with wrangle nodes and compiled blocks, and checking the performance monitor. In some scenarios my network is slightly faster, in other ones is slower. I think it depends on what's heavy in the scenario (a lot of hair vs a lot of clumping guides vs a lot of points).
Anyway, the colleagues I gave my hda to for testing told me they used it without problems or bad slowings, “fixing” their groom simply replacing the node.

I kept the node quite basic, with just the things I need for my usual workflow (no procedural clumping, no strays, I use to set up these things separately). Sure the standard node has a lot of cool stuff in it! I like the crossover, I think I will add that one.

Thank you for your appreciation again.
Cheers,

Fabio
Edited by fabio_messina - 2020年8月11日 10:23:29
User Avatar
スタッフ
656 posts
Joined: 8月 2013
Offline
Hi Fabio,

thanks for sending more details, that's very useful. I also see an influx of experienced artists now and more and more studios picking up the tools, which is great.

Good to hear you were able to get good performance with VEX as well.

I might start with a normal direction threshold as well. After all we already have that in Hair Generate! I also found that our geodesic distance methods aren't quite ready for this use case, hopefully we can take that a bit further in the not too distance future.

Cheers,
Kai
Kai Stavginski
Senior Technical Director
SideFX
  • Quick Links