Dynamic Subdivision mode (ZBrush terminology)

“Dynamic subdivision” (ZBrush term) or “smooth shading” (Maya term).

Dynamic Subdivision mode is used to represent the result of dividing your base mesh even though you haven’t divided it. This way a low subdivision mesh can look smooth and appealing in the view port and texture maps can be applied. I work in feature animation and I love nomad.

Thank you,
Brandon Lawless

Is that what you mean?

No, he’s taking about viewing the limit surface directly, without having to create multiresolution levels.

Every app or renderer calls it different things, but thats the gist.

Zbrush = dynamic subdivision
Most renderers = render polygon cage as subdivision surface
Original theory = Pixar and catmull-clark subdivision surfaces
Blender = Adaptive subdivision via opensubdiv
Maya = tap 3, then pageup
etc…

1 Like

So a graphical representation of what the model would look like subdivided but without the actual subdivision taking place? Is that something that could easily take place on mobile devices or does it require dedicated GPU?

yeah valence can do it, so its definitely possible on mobile hardware.

Just an implementation idea… Current subdivision could be renamed “view subdivision”. An additional slider “sculpt subdivision” could let the user choose a subdivision level less or equal than “view subdivision”. Sculpting is always on the “sculpt subdivision” level, while the “view subdivision” is the one displayed in the viewport. Export would let the user choose the subdivision level that is exported at.

No sure if I like that idea, probably technically not feasible, and makes everything more complicated than it needs to be. Not sure why I’m posting this :slight_smile:

Doing multires is much harder than just render-only subdivision.
Multires also takes more memory since you need to store delta details/painting.

Also valence struggles a lot at mid/high poly, at least last time I tried.

The issue with render-only subdivision is that it’s slow when you sculpt on a mesh. You need to subdivide on each frame, ZBrush has this issue.

The best way is to do it on the GPU, but it’s more work (compute shaders, more tricky to support facegroup subdivision, etc).
But maybe CPU could be “good” enough.

Also it’s not clear how much the feature should be tied to multires

  1. tightly tied: you could sculpt low poly while having the preview of high res with the high res sculpted details
  2. render-only: just subdivide the thing (no delta details re-applied)

I checked zbrush and it seems to do 2.

My overal feeling is that it’s not really useful for sculpting.
With a few low-poly tools that would be much helpful though.

2 Likes

I personally only use #2 (render-only) on certain items, like a crystal ball, or pearl earrings.
When I subdivide a head more than once and sculpt (which is the only way to sculpt an appealing character) I use the brushes to make a character quickly and naturally.

When I have separate items like pearl earrings, I don’t need to sculpt them, so dynamic subd would be great in the viewport to see what the full portrait of the character looks like.

In feature animation there is a hiccup when going back and forth from ZBrush to Maya. Once you subdivide the earrings, level 1 becomes a little smaller than the original mesh. So, when you take that earring back to Maya it is smaller.

This can be extrapolated to other meshes, like the character body, the 3 piece suit he wears, etc.
You might say its only a little bit smaller what is the big deal? Well the clothing might now inner penetrate the body geo.

One major issue for me is when I make clothing I need it to conform to the body. Transparency helps me get the fit. It starts off in low resolution to help box model. Later I can subdivide it for animation, but I need the original low resolution clothing in case I need to go back to it to make changes (like add a pocket). All that said it would help if I could use dynamic subd on this low resolution 3 piece suit to get a viewport ‘feel’ for how the character looks overall without having to actually divide the mesh.

As for ‘scupting’ on a dynamic subd model I never do. I use the move brush, and low intensity smoth brush, but I never us clay, standard, or any other brushes.

On Nomad 1.91 there’ll be an option to lock level 0.
nomad - WebAssembly

2 Likes

I use ZBrush dynamic subdivision in my development to create several meshes separately that fit together into a final tool (scene). Now I mostly use ZModeler with it to block in lower resolution modeling. By having dynamic subdivision in display I’m able to accurately model in low resolution what will ultimately be high resolution. But it requires ZModeler type editing to work. The combined set is nothing short of incredible.

This is an example my work on MC Escher’s 1952 Dragon (I’m an official licensee of this piece) using this combination of ZModeler with Dynamic Subdivision I can get a sense how several meshes must interact.