Multi-res to texture displacement?

So I have a character with sculpted multi-res detail and in most cases I would just keep the modifier with the model. There’s currently not a good method in Blender of bring back the detail via textures.
Using the displacement modifier is nothing like the multi-res not accurately bring back the detail.
The lasted Blender 2.9 builds have 2 new displacement nodes;
I tried the displacement node first (for geometry displacement) but because there are multiple UVs for the character they give errors at the seams for the different textures.
There is also a vector displacement node but no way of baking a map in Blender that can use it.

Just some of my thoughts not being a expert on this topic.
Edit: I’ll just stick to bump mapping with the displacement modifier. The baked normal map hides some of the displacement modifiers errors.

The vector displacement node is the best way to handle this, as it can accurately rebuild your sculpt, and with the “displacement and bump” feature, auto-generate the normal map (so to speak) on the fly too. Unfortunately, Blender does not yet have a one-click method to bake multi-res to vector displacement. IIRC, someone here described a method of baking position data for the base res and max res, and you can subtract the two to get a vector displacement map. I can’t for the life of me find it now, though.

1 Like

I can’t for the life of me find it now, though.

should be this:

1 Like

Wow Thanks, will check it out and see how it goes.

Yep! That’s the post I was thinking of! Thanks.

I tried this workaround with position baking and found the ultimate solution:

  1. In multires apply base;
  2. Disable multires both for viewport and render;
  3. Add subdivision modifier with same number of levels (for render too) like multires has;
  4. Add geometry node in shader, channel position to emit shader, bake this to float32 exr, let’s call this lowres image;
  5. Disable subdivision modifier both for viewport and render, enable multires modifier both for viewport and render, bake again. This one will be highres image;
  6. Substract lowres from highres, save as float32 exr - this will be vector displacement;
  7. To check it’s working duplicate your model, delete multires, enable subdivision, add displacement, set RGB to XYZ, uv-mapping, midlevel=0, strength=1, add texture, load your vector displacement file, be sure to disable clamp in colors group of texture. Viola! - you have the same mesh!

Upd.
In my case I had to put subdivision and displace modifiers before curve modifier. Otherwise the result was wrong. I’m not sure if is same should be done in case of armature?

Can you post a screenshot of the node setup and baking settings?

Screenshot 2023-03-30 163454




1 Like