System Information
Operating system: Windows 10
Graphics card: Nvidia RTX 2080 Ti
Blender Version
Broken: Blender 2.80, 2.83, 2.90
Short description of error
If you vertex-parent a Curve Guide to an object that has a hair system, that hair system will delay it's update on each frame change. The heavier the scene, the longer the delay.
If you play through the timeline normally, the hair system updates correctly on time.
But if you switch to random frames manually, the hair system will update after a short delay.
While this would be fine when rendering an animation from beginning to end on one local system, it becomes problematic when rendering the animation on a render farm that is rendering various frames at different times.
In my production scenario using a render farm, the hair system was rendering without any influence from the curve guides because once the entire scene had loaded to be rendered per frame, the frame rendered without having updated the curve guide's influence on the hair system.
Workarounds:
- As you can see in the video below, if you duplicate the hair emitter, the hair system will update properly because it is not using curve guides that are vertex-parented to itself. It is using curve guides vertex-parented to another object.
- Parenting the curve guides by object or by bone do not cause a delay. The delay is only caused by by vertex-parenting.
Exact steps for others to reproduce the error
- Create a hair system on the default cube.
- Keyframe the rotation on frame 1.
- Move to frame 100 and rotate the cube 180 degrees. Set another keyframe.
- Create a force curve guide.
- Vertex-parent the curve guide to the cube.
- Play through the animation and everything updates correctly.
- Manually click through to different places on the timeline, and the hair system will only update after a short delay.
Screen capture showing issue: