Page MenuHome

broken mesh view while using bendy bones with deformed mesh
Closed, ResolvedPublic

Description

System Information
Operating system: Debian Jessie Standard
Graphics card: GTX 1060

Blender Version
Broken: 2.80, 4d795cee4938, blender2.8, 2018-12-31, 15:45

Short description of error
Using bendy bones crash viewport display of deformed mesh, while rendering is ok.
See attached file as an example.

Exact steps for others to reproduce the error
Different actions lead to a broken mesh in the viewport:

  • tab into edit mode and back
  • switch off and on the view of the armature modifier
  • switch from layout to sculpt mode
  • switch off and on subdivision modifier
  • ...

after that the mesh is corrupted in the viewport display. Rendering shows mesh correctly.

Undoing the weird mesh deformation view:

  • selecting the armature, change to pose mode,
  • select another bone
  • r/g/s the selected bone
  • reducing the segments of the bendy bones to 1

brings back the correct deformed mesh in the viewport display.

Details

Type
Bug

Event Timeline

Sebastian Parborg (zeddb) triaged this task as Needs Information from User priority.

I sadly can not reproduce this error. This is what it looks like on my end no matter if I go in and out of edit more or toggle the modifiers:

Could you try a build from today and see if that helps? https://builder.blender.org/download/

I tried the build from today and my own compilation with a fresh git pull.
The bug still stays (see attached image) after switching off and on the armature modifier i.e.

No idea, but animate1978 can second that bug: see "vertices influence broken in 2.80 if using basic muscle armature system"

Probably a linux specific problem? Funny thing is, that it's only visible in the viewport, the render is ok.

Unfortunately you can not work with the deformed mesh, nor sculpt it....

I'm also on linux (and I build blender from git too) and I do not have this problem. So I guess this rules out it being a linux specific problem.

I do however not have this muscle plugin installed.

Could you build a Debug build and try it out with that? Maybe some asserts will trigger.

Specifying it a little bit. Open the bendyBonesBug.blend file. Change the rotation of one of the bendy bones to deform the mesh.
Select the mesh.
Then switching off and on the armature modifier results into the reproducable buggy behaviour... strange

I changed to the loaded factory settings with a fresh config directory to reproduce the buggy behaviour, no other addons are installed know.
Same as before.
How to build a debug build? Didn't do that before?

Still can't reproduce this even if I pose the armature a bit first. :c

Here is a short guide how to change cmake settings: https://wiki.blender.org/wiki/Building_Blender/Linux/Generic_Distro#3._Compile_Blender_with_CMake

You want to change CMAKE_BUILD_TYPE to Debug and recompile blender.

BTW, could you try and see if the official builds has this problem for you?

I tried the official builds (beta from https://builder.blender.org/download/) - same behaviour.
Build blender as Debug build - same behaviour, no warnings/errors during run with "blender -d".

This buggy behaviour is reproducable.
Why is it only with bendy bones if segments are >1?
Why is it only visible in the viewport?
Why can it be readjusted if armature is touched (edit mode/rotation i.e)?
Why is it not visible in the render?

I cannot reproduce this either on Mac.

There's a chance it could be related to a driver issue, but hard to tell.

After messing around for a while longer I was able to make it glitch:

No idea what is causing this. @Clément Foucault (fclem) ?

Funny thing is, I can get back the regular mesh, if I am in pose mode and choose another bone or just type R and ESC...
Why should a graphic driver react on the latter one?
Strange...

Some more examination brings the following result:
depending on the armature's mode after deformation, the effect occurs or not.

If the armature is still in pose mode after rotating a bone, there is no mesh glitching.
If the armature is not any more in pose mode after rotating a bone, selecting the mesh and tabbing into edit mode and out there is the mesh glitching. (same with switching off/on any modifier of the mesh).

This explains, why probably the bug is not visible for some, and was visible for billreynish only after some fiddling...
@zeddb : if you don't mind, could you test it again while setting the armature into object mode after deforming the mesh , please?

I can reproduce.

Windows 10 64 bit
Nvidia GTX 750 Ti
2.80.0-git.c97c76c01c1d

Exact Steps

  • Select Armature
  • Enter Pose Mode
  • Rotate one bone
  • Enter Object Mode
  • Select Mesh
  • Turn Armature Modifier On / Off repeatedly. Usually happens after 3 to 10 tries.

The mesh is either just deformed slightly, crunched towards the origin or stretched into the infinity.
Sometimes only part of the mesh is affected, while the rest looks okay.

If Edit Mode is entered while the glitch is visible, the effect will persist into edit mode. The dots for the vertices are drawn in the spots where they are actually displayed.
It also persists after applying the modifiers.

Sebastian Parborg (zeddb) raised the priority of this task from Needs Information from User to Confirmed, Medium.

I'm unsure where this problem lies @Campbell Barton (campbellbarton) so feel free to reassign. I could finally reproduce the issue with the instructions above.
No asserts were triggered with the debug build...

I can reproduce but I'm pretty sure it is a problem with the modifier and not the display.

Norbert Krieg (nobi08) closed this task as Resolved.Mar 30 2019, 12:59 PM

Seems to work know.
Thanks to ...??

This is in fact not solved.
I can still reproduce with the newest 2.80 beta build. 98f00a3eb526

I can only reproduce it with the described steps if I disable the fix for T63332, so unless somebody can confirm this still exists, this bug would be closed.

Sebastian Parborg (zeddb) closed this task as Resolved.May 7 2019, 11:37 AM

Can't seem to reproduce this either now. So I'll close this until someone states otherwise.