Eyebrows rigged, I don't want them to pass through the body!

I am nearly done with my character rig. I want my character to have eyebrows, but I don’t want them to pass through his body! Is there a way for the eyebrows to stay on top of his body without going through his body when animating?


have you tried shrinkWrap?

Are you planning on rendering straight from rig in Blender? Baking to deforms and rendering elsewhere? Baking shapekeys? Are the eyebrows the only thing that deforms in that area, or does the mesh they’re sitting on deform too? Affects what kinds of techniques you can use and what’s simplest.

If your underlying surface is basically a sphere (looks like it) you can just give them a limit distance (surface) constraint targeting the center of the sphere and that will keep them glued to the surface. Might want to rethink your local axes and damped track the center as well to keep them oriented correctly.

If your underlying surface is more strangely shaped, you can make a non-rendering copy of that mesh, and set up your bones with head+tail markers shrinkwrapped to the surface of that mesh. Better for baking to shapekeys, because it probably involves separating out armatures for dependency issues, and can have some less-than-perfect interpolation.

You could also leave it to the animator-- they shouldn’t be expecting an idiot-proof rig. You can help them by giving appropriate local axes (like Z axis tangent to the eyebrow) that make it easier, with local axis manipulation, to keep the eyebrow in the right spot.

Thanks for the info, I didn’t think to use the shrink-wrap on the bones themselves. I’ll keep that in mind for the future, however I decided to keep the eyebrows off the body. Like a cartoon character his eyes will be expressive along with the eyebrows. So I kept the eye brows off the body by allowing it the freedom to move where I need them to be for the character.

Im making another character that will need the eyebrows on the body, so I’ll use what you suggested next time. Thanks!