Multires Bake: Implement vector displacement baking

Supports baking to object and tangent space.

Compatible with Cycles Vector Displacement node which has the
(tangent, normal, bitangent) convention.

The viewport situation is a bit confusing: seems that Eevee
does not handle vector displacement properly and rips all faces
apart. Cycles renders the displaced object correctly.

Not entirely happy with the UI, as displacement space does not
really belong to the Output, but so doesn't Low Resolution Mesh.
Perhaps the best would be to have a separate pass to revisit the
settings, and also make it more clear what the Low Resolution Mesh
actually does.

Pull Request: https://projects.blender.org/blender/blender/pulls/145014
This commit is contained in:
Sergey Sharybin
2025-08-25 14:23:35 +02:00
committed by Sergey Sharybin
parent 5ed307f8aa
commit a020907844
12 changed files with 118 additions and 50 deletions

View File

@@ -2147,6 +2147,8 @@ class CYCLES_RENDER_PT_bake_output(CyclesButtonsPanel, Panel):
layout.prop(cbk, "use_clear", text="Clear Image")
if cbk.type in {'DISPLACEMENT', 'VECTOR_DISPLACEMENT'}:
layout.prop(cbk, "use_lores_mesh")
if cbk.type == 'VECTOR_DISPLACEMENT':
layout.prop(cbk, "displacement_space", text="Space")
else:
layout.prop(cbk, "target")
if cbk.target == 'IMAGE_TEXTURES':