Page MenuHome

Hair particle system misbehaving on rigged mesh
Confirmed, NormalPublicBUG


System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 442.74

Blender Version
Broken: version: 2.83.4, branch: master, commit date: 2020-08-05 06:00, hash: rBc113af82881a
Worked: (newest version of Blender that worked as expected)

Short description of error
I have a hair particle system attached to a rigged mesh.
I have attached a screenshot of the modifier stack

. I believe they are in the correct order.

The armature to which the mesh is rigged is animated.
When the animation plays, the rig moves, as does the mesh and the particle system.
The hair particles however do not rotate correctly as the animation plays through.
The rotation of the hair particles correct themselves when entering Weight Paint mode - the density and scale of the hair particles are controlled by two separate vertex groups.

I can consistently recreate the problem in 2.83.4 and 2.9.0.

Exact steps for others to reproduce the error
[Please describe the exact steps needed to reproduce the issue]

  1. Note the rotation of the teeth (this is the particle system). They are currently correct.
  2. Move from current frame (1) to the end of the animation (48).
  3. Note the new rotation of the teeth; they have moved to the correct position but are now pointing inwards, towards the inside of the throat.
  4. Make sure the mesh object is still selected (Lo_poly), and enter Weight Paint mode.
  5. Note that the teeth have corrected their rotations (are no longer pointed towards the inside of the throat).
  6. The problem can be reproduced again by jumping back to the frame 1 of the animation. The teeth will move back to their original position, but the rotations will once again be incorrect.

.blend file attached

Thanks in advance!

Related Objects

Event Timeline

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Aug 11 2020, 4:46 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".

I can confirm the problem.
Apparently the rotation of some particles is not updated.
Here is a simplified file:

Thanks for the simplified example file. I did not find the fix yet, but so far I traced the issue back to the particle cache. Apply P1584 to see the issue.

As you can see, for every "broken" particle, the vec value stays constant. I might investigate this further later this week, if no one else wants to.