Particle hair collisions - a workaround

Having played around with the hair, the collisions were (and still are) a major problem. But I think the key to good hair collisions is the Maximum Falloff values for Force Fields!
So here is my workaround, and some notes for hair collisions:

  1. Make sure the hair is on a different mesh to the collision object
  2. In the hair modifier, enable hair dynamics
  • mass = 0.3
  • Internal Friction = 1
  • Collider Friction = 1
  1. Add Force field to the collision object
    Force = surface
    Strength = 300 (reasonable value but you will have to tinker a bit)
    Falloff
    Power = 2 (not really relevant as in tests, setting it from 1 to 10 does not make any difference)
    Minumum = 0
    Maximum = 0.07 (this is the major component of the hair falling into and through the object - see notes)

Notes on Dependencies (important bit)
If the mesh is very fine, the maximum falloff can be set to a small value. Basically the force requires time to act, so the difference in the minimum and maximum values gives the hair time to move out of the way (along with the strength of the field and the mass of the hair) Therefore, the falloff is also dependent on the relative speeds of the collider and hair. At higher speeds the hair does not have enough time to move, so the max falloff has to be bigger to compensate.

The maximum falloff is, in effect, the distance where most of the hair will be pushed away from the surface of the object, so this value should be as small as possible, depending on how close the camera is to the hair and the relative sizes of the objects. But good looking hair collisions is primarily this value, with minor tweaks from the

You will have to play with this number to get the right amount, as it is dependent on mesh size (not object size), collider velocity, hair weight, and force strength.

  • Setting the strength too high or the hair mass too low will lead the the hair jittering around instead of smoothly warping round an object. If this happens, just modify one (or both) of the values.

Hope this helps
Ralph Biggins

That’s quite informative. i’ve never been able to nail any convincing hair simulation in blender, so thanks!

to the mods - I just noticed that this shoulld be better placed in the Particles and Physics Simulations thread :eyebrowlift2:

Other than that, the problem is the workflow. For an animation, the best thing to do (that I have found useful) is the following:
1: Mass - sort out the hair mass to make sure it moves correctly when the charachter moves
2: set a high falloff maximum value and increase the strength to the highest value before it jitters
3: reduce the maximum falloff to the lowest value before it goes through the mesh

One of the greatest problems happen if the animation is a mix of rest poses and high movement. For this the best option is a mix of the basic rest force, and keyframe the falloff to increase (increase min and/or max falloff and reduce the falloff power) the force acting during periods of high velocity collisions.

Another interesting problem is one of scale. Since the mass is dependent on length in blender units, and the falloff is in blender units, the hair settings depending on the scale of the hair.

Alternately… just grab the Gooseberry or Hair-Immediate branches.

Gooseberry downloaded… Hair looks very interesting. Do you have any information on how to use the new features (especially tips on the voxel ize an using collisions). I am experimenting with this, but help is always helpful :smiley:

I have been playing around with the gooseberry branch, but the collisions still have to use force fields, unless I have missed something. Although the hair mechanisms have been simplified, and the voxel part seems to slow everything down a lot, it would be nice to see somewhere details on what has been changed.
Cheers

You can use collision instead of the force field. I came across this video today: https://www.youtube.com/watch?v=bCW16iiZFQ0

I’d been trying with force fields this week but long hair always stuck outwards from the head and any up-down movements made the hair go through the head. But it just seems to work how I’d expect it to with the collision option (and particle friction 1). I’ve tested it in gooseberry but it looks like this works in 2.72 too.

Update: I must have been mistaken I can’t get it working now, and I think the only reason it looks like it’s working in the video is because of properties he sets on the hair. (It’s pretty strange I’m sure it seemed like it was working in a few different tests!)

I have no hope for the hair during gooseberry pilot. Once again the thing turned into a useless code sprint, and collisions work terribly. That’s what I hate about these production environments, they are good for tweaking and making things better, but they suck at making complex systems from scratch!!! Damn it Ton! It’s like asking brecht to make cycles when the movie started. He needed those months (or years?) to make the basis work first!

Have you actually built and used the hair branch? It works fine.

m9105826, the hair collisions still do not work. As you can see in the video I posted before, the hair looks better and acts internally better, but hair will still go through a mesh using the gooseberry branch.

You’re using the wrong branch. Try the hair_system or hair_immediate_fixes branches.

Hmm I was using the gooseberry branch available in the builder. Since the hair settings are completely different from original there, I assumed this was the one. Does anyone know of a downloadable windows build with the branch you are suggesting?

Not being a developer, and not trusting my capabilities in evern trying to attempt to build one of the hair branches, is there a way do get a windows build?

All three of those are still in development. I believe it’s the hair_system branch where collisions are working, but I don’t recall as I’m not at my main computer. I build myself though, and I recommend that anyone interested in using experimental features do the same. It’s really not hard to get set up.