Page MenuHome

Sliding a Loop Cut does not propagate to shape keys
Closed, ArchivedPublic

Description

System Information
Windows 10, 64 bit.
Operating system and graphics card. GTX 970.

Blender Version
2.79b f4dc9f9d68b
(also affects 2.8)

Short description of error
Edit Basis mesh, creating a Loop Cut and then (built-in) sliding. The slide does not appear on other shape keys which have their loop(s) at the default position.
Compare this with separately using Edge Slide, or even just moving the edge/vertices directly where the changes do affect other shape keys.

Exact steps for others to reproduce the error

  1. Create a cube
  2. Create Basis shape key
  3. Create another shape key ("Key 1")
  4. Switch to Basis shape key and enter edit mode
  5. Create one Loop Cut (Ctrl+R, Enter), then slide across. Press Enter to commit the edge slide.
  6. Switch to Key 1 shape key, and observe the loop cut is in the default position.

Compare with:
1-4 as above.

  1. Create one Loop Cut (Ctrl+R, Enter). Press Esc to create loop cut in the default position.
  2. Use Edge Slide (GG) to slide across. Press Enter to commit the edge slide.
  3. Switch to Key 1 shape key, and observe the loop cut is in the same position as for the Basis shape key.

Details

Type
Bug

Event Timeline

I think modifiying shaped meshes topology is not supported / garuanteed to propagate properly.

https://docs.blender.org/manual/en/dev/animation/shape_keys/workflow.html will even tell you to not add remove vertices at all.

While some of these operations are supported, others are not (and you have to be very careful here).

You can fix the 'broken' shapes (shape propagate helps here)

Also see Stackexchange here and here.

Not sure if this can be archived yet, will look a bit into corresponding code and decide later...

Stephen Swaney (stiv) closed this task as Archived.

Changing the number of verts or their order is almost certain to break shape keys. Not a bug.

Feel free to re-open this, Philipp.

  1. The workflow in the documentation is probably meant to help new users by not having them believe you can "create holes" or something with shape keys, where such an operation (deleting vertices in a shape key) will actually also affect the basis shape key (as in the whole mesh).
  1. "Changing the number of verts or their order is almost certain to break shape keys." is a vague statement. Either it does or it doesn't and varies depending on the actual mesh edit done. "Break" too, what exactly does "break" in this context mean? I imagine it being like the 2.49 style shape key exploding that happened when you removed/added vertices, but it could mean a lot of things and what actually happens to the mesh should be said instead of using a blanket term. The user submitted two different types of steps.

In the first one you make a loop cut, cancel to confirm at the default location. Then move the vertices. The vertices of the shape key are updated after each operation.

In the second one you make a loop cut and slide the vertices. The vertices of the shape key are only updated after the first suboperation (loop cut part of loop cut and slide). The intended workflow is the same (add a loop cut and slide it) but the results are different which makes me believe this is a bug, specifically in the loop cut operator that doesn't properly update. Meaning, even if it "breaks" (more specifically gets unsynced with the basis shape key) it is possibly fixable.

Right now you've got something like this when invoking the loop cut operator:
Loop cut, [shapekey update] slide
When it should really be:
Loop cut, slide [shapekey update]

You can see this is the case because the loop cut is created in the shape key, but if you used the slide part of the operator those changes only got applied to the basis shape key.

Anyway, we can certainly say "meh, it's a shape key so maybe it just breaks" but I think this is lazy, and really a waste especially when shape key stability has improved so much since 2.49. I would rather have this seen as a bug and fixed along with any remaining fixable shape key bugs.