Page MenuHome

Multires: Base Mesh Sculpting
ClosedPublic

Authored by Pablo Dobarro (pablodp606) on Aug 12 2020, 8:20 PM.
Tags
None
Tokens
"Love" token, awarded by PrettyFireNOI7."Pirate Logo" token, awarded by shader."Party Time" token, awarded by Jules."Love" token, awarded by franMarz."Like" token, awarded by JulienKaspar."Burninate" token, awarded by DiogoX2."100" token, awarded by Frozen_Death_Knight."Love" token, awarded by kouza."Love" token, awarded by RodDavis."Burninate" token, awarded by AnityEx.

Details

Summary

This adds an option to the Multires modifier to sculpt directly on the
base mesh while previewing the displacement of a higher subdivisions
level. What this does it considering Multires as a regular modifier
without exposing the grid displacement to sculpt mode.

This allows to see the propagation happening in real time, which enables
to use complex tools like Cloth or Pose in much higher resolutions and
without surface noise and artifacts.

Cloth Brush running in real time deforming 260k vertices of displacement:

Diff Detail

Repository
rB Blender
Branch
sculpt-multires-base-mesh (branched from master)
Build Status
Buildable 9493
Build 9493: arc lint + arc unit

Event Timeline

Pablo Dobarro (pablodp606) requested review of this revision.Aug 12 2020, 8:20 PM
Pablo Dobarro (pablodp606) created this revision.
Sergey Sharybin (sergey) requested changes to this revision.Aug 13 2020, 4:41 PM

Some commentary from me to ensure evaluation and sculpting is always in sync in terms of logic around whether multires is used or not.

The interface I am not sure. Talked to @Julien Kaspar (JulienKaspar) , and it makes sense to have option in the modifier, but feels weird to have sculpting-related option always exposed in all modes. @Julian Eisel (Severin) for the rescue! ;)

source/blender/blenkernel/intern/DerivedMesh.c
913–914

Sounds like this should be using BKE_sculpt_multires_active().

In rare configurations you can have 2 multires modifiers, and have one of them "Sculpt on Base" enabled, but disabled on another.

Using BKE_sculpt_multires_active will ensure the evaluation and sculpting code is perfectly in sync.

This revision now requires changes to proceed.Aug 13 2020, 4:41 PM

Showing such an option like this is not too nice. But I think it's acceptable if we disable it outside of sculpt mode. Just make sure there's a "disabled hint" (the red text in the tooltip explaining why it's disabled).

Two decent options for that:

  • UI_block_lock_set()/UI_block_lock_clear() around the item in panel_draw()
  • Add an _editable() callback to the RNA property. These have the r_info parameter for this disabled hint.
Pablo Dobarro (pablodp606) marked an inline comment as done.
Pablo Dobarro (pablodp606) edited the summary of this revision. (Show Details)
  • Disable option when sculpt mode is not enabled
  • use BKE_sculpt_multires_active
  • Fix formatting

From my side is all fine.

This revision is now accepted and ready to land.Aug 14 2020, 11:44 AM
This revision was automatically updated to reflect the committed changes.