Maniphest T80873

Shapekeys not targeting the right vertex position with Subdiv
Closed, ResolvedBUG

Assigned To
Pablo Dobarro (pablodp606)
Authored By
Julien Kaspar (JulienKaspar)
Sep 17 2020, 11:04 AM
Tags
  • BF Blender
  • Sculpt, Paint & Texture
Subscribers
Germano Cavalcante (mano-wii)
Julien Kaspar (JulienKaspar)
Pablo Dobarro (pablodp606)
Sergey Sharybin (sergey)

Description

System Information
Operating system: Linux-5.4.0-47-generic-x86_64-with-debian-bullseye-sid 64 Bits
Graphics card: Quadro GP100/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.100

Blender Version
Broken: version: 2.91.0 Alpha, branch: master, commit date: 2020-09-17 05:34, hash: rBf085ebba58d7

Short description of error
When sculpting on a shapekey it works just fine but if a subdivision surface modifier is used (or Multires with the "Scultp Base Mesh" option used) it won't work.
Instead of targeting the vertex positions of the shapekey it will always go for the base shape.

Exact steps for others to reproduce the error

  • Create an object and add a base and Key 1 shapekey
  • Change the value for "key 1" to 1
  • Add a subdiv modifier and subdivide
  • Enter sculpt mode and disable the "Use Deform only" option in the header
  • Try sculpting the shapekey
  • Enable the Grab Active Vertex option in the Grab brush to see the targeted wires more clearly

Revisions and Commits

rB Blender
D8921

Event Timeline

Julien Kaspar (JulienKaspar) created this task.Sep 17 2020, 11:04 AM
Julien Kaspar (JulienKaspar) added a project: Blender Studio.
Julien Kaspar (JulienKaspar) added a subscriber: Pablo Dobarro (pablodp606).
Mike Newbon (mikenewbon) removed a project: Blender Studio.Sep 18 2020, 12:45 PM
Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Sep 21 2020, 7:34 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".
Germano Cavalcante (mano-wii) added a project: Sculpt, Paint & Texture.
Germano Cavalcante (mano-wii) added a subscriber: Germano Cavalcante (mano-wii).
Julien Kaspar (JulienKaspar) added a subscriber: Sergey Sharybin (sergey).Sep 28 2020, 3:14 PM

@Pablo Dobarro (pablodp606) @Sergey Sharybin (sergey) Since this fix is needed very soon for production it makes sense to push up the priority.

Pablo Dobarro (pablodp606) added a comment.Sep 28 2020, 3:43 PM

Is the solution in the patch ok?

Julien Kaspar (JulienKaspar) added a comment.Sep 28 2020, 7:00 PM

@Pablo Dobarro (pablodp606) I tested it and it seems to work fine (like 2.83 with the shrunken cage) when used with a subd modifier or when using the multires on level 0.
With the option "Sculpt Base Mesh" it's still broken but that could be fixed at another point?

Pablo Dobarro (pablodp606) added a comment.Sep 28 2020, 7:02 PM

I think the sculpt base mesh option is a separate issue. What you are trying to do using the sculpt base mesh feature is something that could be done with a refit/apply base for the modifier?

Sergey Sharybin (sergey) added a comment.Sep 29 2020, 10:45 AM
In T80873#1024746, @Pablo Dobarro (pablodp606) wrote:

Is the solution in the patch ok?

Address the inlined comment in the code and the patch is fine.
Also don't forget that the corazyspace fix from the discussion in the patch is to be finished.

Julien Kaspar (JulienKaspar) added a comment.Sep 29 2020, 12:34 PM
In T80873#1024920, @Pablo Dobarro (pablodp606) wrote:

I think the sculpt base mesh option is a separate issue. What you are trying to do using the sculpt base mesh feature is something that could be done with a refit/apply base for the modifier?

@Pablo Dobarro (pablodp606) I don't think that makes sense for what this fix is for. Just to explain what I am using them for usually:
I am mainly using it to create various expression tests in a non destructive way like these:
https://cloud.blender.org/p/stylized-character-workflow/5d4a99d97b4f5e512c939903

The workflow I am using this for is explained in more detail in this video:
https://cloud.blender.org/p/stylized-character-workflow/5da05942e2e7bac4cc81bd5a

But Essentially: To create various expression test sculptings I am roughly retopologizing a sculpt and re-projecting all of the missing details onto a multires modifier with a shrinkwrap modifier.
Afterwards I start modeling & sculpting shapekeys on the base resolution for various deformations like open eyes, closed mouth, and many expressions. These I can then mix & blend in a non destructive way to create lots of expression sculpts quickly & experiment or polish away any design issues on all expressions at the same time.

The main issue right now is that I can only sculpt on the shapekeys if I disable any multires or subd modifiers completely. This adds a lot of toggling to see the subdivided result. If the "Sculpt Base Mesh" option would work properly with shapekeys, the workflow would be most efficient because any changes on the base resolution can be immediately visible in sculpt mode without switching to object mode all the time..

I could also sculpt these expressions in a destructive way without shapekeys but then once anything needs to be changed on a base level like eye size or face proportions I would have to do it for every single expression separately again & again.
Shapekeys of course aren't the best way of working like that because of performance issues and missing multires layer support but they are the only feature we have to do this right now.

Pablo Dobarro (pablodp606) closed this task as Resolved by committing rBb6f15d5d47bf: Fix T80873: Grab active vertex preview not working with shape keys.Oct 1 2020, 7:25 PM
Pablo Dobarro (pablodp606) claimed this task.
Pablo Dobarro (pablodp606) added a commit: rBb6f15d5d47bf: Fix T80873: Grab active vertex preview not working with shape keys.