Page MenuHome

Hair Dynamics: simulation doesn't work depending on smooth/flat shaded surfaces (and nvidia gpus?)
Open, Waiting for Developer to ReproducePublic

Description

System Information
Operating system: Windows 10
Graphics card: RTX 2070 QMax

Blender Version
Broken: v 2.80
Worked: (optional)

hair dynamics doesn't work, hair stuck in place, doesn't follow the mesh

Exact steps for others to reproduce the error

  • build simplest possible model with hair dynamics
  • add simple animation
  • with hair dynamics disabled: hair follows mesh
  • with hair dynamics enabled: hair just stays behind and stretches to the mesh
  • changing settings, clearing cash ... all to no avail

Details

Type
Bug

Event Timeline

Philipp Oeser (lichtwerk) lowered the priority of this task from Needs Triage by Developer to Needs Information from User.Aug 15 2019, 9:38 AM

Cannot really reproduce, if I rebake (or change any setting -- which also clears the cache), everything is fine...

@Imre Varga (imrevarga) : does Delete Bake, then Bake fix it for you?

I tried everything, bake, delete bake, bake again, go in and out of edit mode, change settings ... just doesn't work. There is a suspicion that it might be related to the RTX2070 or the latest driver of that since I also get the following issues:

  • jiggle bones work in viewport, but don't render
  • regular erratic blue screens while using blender with a VIDEO_TDR_FAILURE message

I had similar unstable issues with windows 10 v1903 and gtx 1070.

I will reinstall and also try latest versions again to pinpoint the problem.

Probably a nvidia gpu driver problem as you say.
(I have the latest installed....)

Forgot to say that in linux ubuntu os did not find issues and seems to be more stable and faster with everything.

Windows always giving headaches...

I installed previous nvidia driver but the bug persists in all windows 10 64bit Blender versions.

If you try to play hair in an object with Shade Smooth instead of Shade Flat it will NOT run.

I am also having unstable behaviour when interactive render in cycles sometimes.

Blender seems unstable with dynamics in general.

@Imre Varga (imrevarga)
Similar to @Philipp Oeser (lichtwerk), I can confirm your observations up to, but excluding, your last step:

changing settings, clearing cash ... all to no avail

I do not have that issue here. Changing settings clears cache. Baking sucessfully caches a new simulation that shows none of the issues you report. Particulars:

  1. I temporarily cleared the Dynamic Hair checkbox, which cleared the cache loaded with your file.
  2. Then, probably unnecessarily, ran the animation with Dynamic Hair unchecked, just to satisfy myself that there were zero frames cached in memory.
  3. Finally, I restored the Dynamic Hair checkbox and baked all 100 frames. Blender reported a cache of 100 frames, consuming about 25.2 MB

This gave me a clean animation. See T68681.mkv Compare with the animation made with your original file and its original cached data. See T68681_original_cache.mkv
To make these animations, I modified your file slightly: I put a damped track constraint on the camera so that it would follow the head.

There does seem to be something incorrect about the cached simulation in your posted file. The simulation is cut short to 68 frames, and the system here had trouble restarting the simulation at frame 69, given your original cached data (the hair explodes). At the end of the run, Blender reports inexact data from frame 0 - not a good sign. All that notwithstanding, fully clearing the cache and restarting
the simulation from the first frame produced a complete and viable simulation - at least on my hardware.

This suggests to me that there is some aspect of your system that is corrupting the caching of your simulation -- every time -- likely from the very first frame.

In light of that, please also consider posting your system information. When in Blender, go to the help menu and choose "Save System Info" Post the resulting file here. Thank you!

(My system information, for reference)
T68681.mkv - animation from regenerated cache
T68681_original_cache.mkv - animation from original cached data.

Thank you for your work so far,

First of all my system information:

I think I have narrowed the problem down somewhat. It seems to be related to flat / smooth shading. The following video shows my screen capture with and without hair dynamics as well as with smooth and flat shading.

I have also attached a video where jiggle bones work in the viewport but not in the final render. Strangely, the jiggle is seen at the beginning of the movement, but then it stops. I know it's just an add-on but the problem might be related to the issue on hand.

Hi Imre,
At first glance, I see nothing unusual in system-info_imrevarga.txt. I need to spend further time with it, but not right now - I'm off to my job and won't be home again until quite late tonight - 22:00 zulu or so.
It seems that when you set mesh smoothing to flat, the simulation runs properly. (Here, linux/amd card, smooth/flat is irrelevant. The simulation runs correctly in both settings).
That suggests a workaround: First, set mesh smoothing to flat, then bake the simulation - in the cache settings, Particle properties, click on the "Bake" button and let the bake run for the full length of the animation. This is similar to what @Philipp Oeser (lichtwerk) proposed (Delete cache, set smooth off, Bake, test animation in the timeline - new step in bold). I propose that this approach will at least give you a sane cache of the simulation to save and work with and you can move forward with your project. If it does, I'd appreciate a confirmation here. Thanks!

Ok, thanks so far, I will go on trying on Sunday since I am travelling right now ...

Hi Garry,

So I have done some more research and found out the following:

  • without particle editing: flat works, smooth doesn't work, but can be used with baking in flat first as you suggested
  • with particle editing done with smooth shading on: flat doesn't work, smooth doesn't work
  • with particle editing done with flat shading on: flat works, smooth works as well and even renders ok

The confusing part is that you have to do particle editing to get to work. All this behaviour is certainly not as intended and may still be considered a bug, but at least there is a safe workflow for me now:

  • do particle editing with flat shading on
  • make sure the subsurf modifier is below the particle system in the stack

The other big issue I have is the jiggle bones not rendering as I mentioned above. Should I open another case for that or can addons not be considered here?

Best regards

Imre

Thank you for the confirmation and the added information about edit mode effects. I think the object setting of flat/smooth shading is key - and that NVIDIA cards are in place. Those are the two salient aspects of this bug. People without an NVIDIA card cannot observe or confirm this bug.

Another bug report for jiggle bones? In general, one bug report per problem, so please do. It makes it difficult researching issues when two problems lurk under the heading of one. That way, key information is overlooked. One caution: Only report the jiggle bones add on bug here if that add-on is a part of the Blender distribution. I can't recall off-hand if jiggle bones is a Blender add-on or is authored by a third party. In the latter case, the third-party author should get the report, not the people here.

@Philipp Oeser (lichtwerk) : I think @Imre Varga (imrevarga) has answered your question: (Delete Bake, then Bake fix it for you?) Yes, when object -> shading ->is flat. When object -> shading -> is smooth the answer is no. In the latter case, blender also creates a corrupted cache (via baking or by playing through the timeline). That file, with the corrupted cache, can be uploaded, such as the first blend file in this thread, and other people can see the results of the bug, though, without an NVIDIA card, cannot recreate the bug. If your test machine does not have an NVIDIA card then the bug does not happen for you. Nor does it for me (with an AMD card). In light of this, please consider setting this report to "Triage by Developer."
@Imre Varga (imrevarga): I suspect the request "Have you updated your drivers?" may be in the offing. You are at or around 425. It seems to me that NVIDIA published 431 at the end of July. I am not convinced that the driver is at root: the reporter of T68737 has a current 431.70 NVIDIA driver and also saw the issue with smooth, instead of flat shading object setting. But that is worth a shot if it solves the problem and is not an undue burden.

I will continue exploring how cloth modifier cache generation proceeds (which hair particles borrow for dynamics), and why a particular graphics card might matter. Take care.

Bastien Montagne (mont29) raised the priority of this task from Needs Information from User to Waiting for Developer to Reproduce.Aug 27 2019, 12:13 PM
Philipp Oeser (lichtwerk) renamed this task from hair dynamics simulation doesn't work to Hair Dynamics: simulation doesn't work depending on smooth/flat shaded surfaces (and nvidia gpus?).Sep 4 2019, 3:31 PM