Particle System>Deflect Emitter bug
Open, ConfirmedPublic


System Information
Windows 10 Home
Intel Pentium G4560
16 GB
Integrated GPU

Blender 2.79
Broken: (example: 2.69.7 4b206af, see splash screen)
Worked: (optional)

Short description of the error

I have a hair particle system on a mesh emitter and I want to comb hairs with diferent angles. For this I set the Deflect emitter to 0.1 so it stands pretty straight up and comb it . Then I do the same on another part of the mesh but this time setting deflect emitter to 3 and automatically all the combed hairs ( including the 0.1 ones ) are set to 3.

Exact steps for others to reproduce the error
1)Create a cube
2)aply a subsurface modifier with 4 subdivisions
3)aply a particle system with hair type
4)switch to particle edit mode
5)in tools tab choose comb and set deflect emitter to 0.1 and comb one side of the cube
6)set deflect emitter to 3 and comb another side of the cube
7)switch back to object mode ( everything looks ok)
8)switch to particle edit mode again ( and now the side combed with the deflect emitter set to 0.1
is changed to match the side with deflect emitter set to 3 )

Attached file

Note: If we invert step 5 and 6 order the error is not reproduce.


Philipp Oeser (lichtwerk) triaged this task as Confirmed priority.Dec 28 2017, 2:30 PM

I can confirm this behaviour, pe_deflect_emitter() - which uses whatever deflect distance is currently set for all hairs - is called along draw_update_ptcache_edit() when entering particle editmode.
Not sure if there's a way to fiddle with PSYS_HAIR_UPDATED or something like that, will have to dig deeper...
Also not sure if this would be considered a bug [it sure feels like one], but for now, triaging this as confirmed...

note: as a workaround, one can of course disable Deflect Emiter before leaving particle edit mode. This way entering particle edit mode again wont have an effect (regarding deflection)