Tail/ponytail effect help

I have this model with a ponytail and trying to make it react to gravity and collisions. I’ve followed some tutorials and with some empties and cloth simulation I got to somewhere. It looks fine up until when I bend the head downwards.

More noticeable in the first half of the video, but please check the blend file to check it better.

Blend file:
hair_ponytail.blend (4.9 MB)

Any tips or ideas of what am I missing?
Thanks!

I thought I had a YouTube tutorial for this bookmarked…but I guess not :frowning_face: In any case there’s an armature involved. Did the tuts you followed have an armature?

Hi, thanks for answering.

I do not know if you have any tutorial bookmarked at all. And if you do, I probably haven’t seen it. I’m fairly new in here. Even though I’ve been a member for a while, I haven’t really used this site much XD

And about the tutorials I followed… yes they had bones. I think one tutorial was with rigid body chains and the others used cloth simulation, which is what I used if you check the blend file.

Thanks really beneficial. Will certainly share site with my friends.

Well the video seems to be broken here but why not just searching for it?

https://lmgtfy.app/?q=blender+ponytail+physics

I did. And most tutorials are for hairs without bones. Or they link to wiggle bones addon, which is good, but doesn’t have collisions. So targeting the bones to some empties and parenting this empties to a mesh with cloth simulation seemed to work. But for some reason when bending the head down is when all starts behaving weird.

I will try to sort the video. Don’t know what happened there.
Blend file attatched should be fine though.

I’m having trouble identifying exactly what the problem is, in either the video or the file. Maybe you could keyframe some animation in the file so there was a particular frame we could look at?

Looking at the file, the main thing I see that might be causing problems is the fact that you’re using damped track constraints instead of stretch-to constraints. The length of the faces of the physics mesh are not going to be the same as the lengths of the bones, not while the physics are running-- they’ll stretch. If your bones just copy position + damped track, you can have some poor deformation.

The other thing, that might not be an issue, is that there is no locked track to acquire Y axis rotation from the physics. That might be an intentional decision, though.

Well, I was trying to avoid stretching at all and just have the ponytail reacting to gravity and with collisions. But I will try playing around with other constraints and see if that helps.

Cloth physics stretch. Maybe you’d like to think about rigid body physics instead? Those don’t stretch. (Well, aren’t supposed to, at least.)

Yeah. I think I will try making a rigid body chain and try how that works.

Not getting desired results so far.

Ok, I got a massive improvement now. With the collision object (the head) I went to modifiers tab and change around the order. Looks like collision modifier has to go after armature modifier.
I think the .blend file attatched has a second armature modifier by mistake that isn’t doing anything. If anyone wants to test it, just delete that second one.

It’s still not perfect, but I’m sure the rest is just playing around with the parameters from cloth simulation.

There is an amazing addon that helps setting up this kind of rigid body chains if you choose to go that route.

1 Like

Never heard about this plugin.
On the first try collisions didn’t work for me with this plugin, but I am getting sleepy now and probably missed something. Almost 3:30 am here XD
Will test it around another time.

I still hope that at some point Blender integrates some bone physics to avoid all this workarounds lol.

The addon uses the native Rigid body options, It creates a mesh around the bone and then parents the bones to those meshes, its like a macro.

To get the collisions working yo have to click the mesh and active Rigid body, type passive and tick animated.

image

In this case I did it with the Suzanne

Then you can tweak the collision radius of each box in the offset part to fit your model

The addon works with what blender has, you can do the same thing manually but it would take a while.

1 Like

Interesting.
I will need to play around with different values here. Still I get better results with the cloth simulation, but definetely this addon saves time.
I suppose this addon could also be used to create ragdolls?

Yes, there is also an example of one in the github

This can be so useful in many ways.

Just one question. I see on your video that you apply the rigid body to all bones when selecting them. This doesn’t work for me. Only one bone gets applied to the rigid body even when selecting all of them. Am I missing something?

If you have multiple objects selected and you hold alt while changing a property it applies to all of them

Ah right, thanks!

Funny thing is that I’ve actually used the ALT key before to change physics values. I don’t know why I didn’t think about it this time :man_facepalming: