Hairs won't sit on surface while b-spline option is turned on
Closed, ArchivedPublic


System Information
CentOS, Nvidia GTX Titan

Blender Version
Broken: all recent versions

Short description of error
I know, it's a known issue, but would like to get a clarification about this.
Hairs don't sit on emitter when b-spline is checked with no children and with simple children. But if you use interpolated children the problem goes away.
And they also being rendered offset, which is inappropriate.

Exact steps for others to reproduce the error
Open the attached file.



Simple children can be used by emitter particles.
So their position cannot be fixed to surface and is relative to a radius describing an area around guide particle.
On the contrary, Interpolated children are sticked to surfaces to respond to hair and fur needs.

Interpolated children were introduced in 2.46 during particles rewriting for Bick Buck Bunny movie.
B-spline option was added at same period with the idea to create smoother paths for hair particles.
So, since the beginning, user is supposed to use them with interpolated children.

These B-spline paths have same behavior than a nurbs path.
A smoother path is deducted from particle keys positions like nurbs path from its polyspline control points.
With endpoint path option enabled, path goes to end control points like interpolated children.
With endpoint path option disabled, rendered path is shorter than its polyspline like no or simple children.

If user don't want to use hair particles as hair but as paths for other uses ; he can expect an already known behaviour.

Sergey Sharybin (sergey) closed this task as Archived.May 22 2017, 3:14 PM

Hair system is a subject for complete reconsideration in 2.8. This isn't a regression and has a work-around mentioned by @ronan ducluzeau (zeauro) above.

Surely, this is something to keep in mind when working on new hair system, but we are limiting particles/hair fixes to only regressions.

Ok, i've got it. Thank you!