Workflow to bake vector displacement map?

   5425   6   2
User Avatar
Member
900 posts
Joined: Feb. 2016
Offline
Trying to bake vector displacement maps that I want later to use in Redshift.
I'm sure I'm missing something fundamental with the workflow

I've been able to produce the maps only 1 time (and they seemed not correct), rest of the time I got the following error from the bake texture rop: “No match for object1”.

I guess the low-res object is not matching in some way with the high-res object?
But what is not matching? I guess it's about UVs, as I'm not really sure how to treat them.

Please have look at the example file.
Any help very appreciated,


cheers.

Attachments:
Q_bake_VectorDisp_map.hiplc (421.3 KB)

User Avatar
Staff
431 posts
Joined: Sept. 2016
Offline
Hi. The error is due to the objects being hidden. Under “uv to surface” and “closest surface” unwrap modes, the only the plain “displacement” data is valid (also, the ray bias needs to be high enough to capture all the detail that protrudes outside the uv-object in the direction of its normals). You need to use “UV match” unwrap mode for vector displacement output, but note that uv-object and high-res object must have matching UV layout for it give correct output (so it won't work in your case).
User Avatar
Member
900 posts
Joined: Feb. 2016
Offline
Ah, thanks for the tip!
But I don't quite understand how two so different topologies can have matching UVs.

In this Blender video the guy is able to bake a vector displacement map from a super basic geo.
Probably it has something to do with the special kind of subdivision tool [docs.blender.org] he's using, that “also allows you to edit the new subdivision levels in sculpt mode”.



And this is the baked vector map




Link to the source
https://www.youtube.com/watch?v=vgKjn1mV2hI [www.youtube.com]
User Avatar
Staff
431 posts
Joined: Sept. 2016
Offline
Andr
Ah, thanks for the tip!
But I don't quite understand how two so different topologies can have matching UVs.

Bake texture's vector displacement is computed by basically going through each pixel in UV space and asking the high-res object the P location at that specific UV coordinate, then do the same with uv-object and get the delta. So identical topology isn't necessary, but the UV layout has to be the same (or “close enough”) so that mantra can lookup P locations for both objects at any given UV coodinate, and the resulting data can be interpreted correctly.
User Avatar
Member
900 posts
Joined: Feb. 2016
Offline
Hey, thanks a lot for taking some time to explain it! I understood more, but still something is missing in my mind ahah


My problem is indeed how to create and match those UVs.

Simplest case:
This is the high-res object, a grid with an overhanging detail connected to it. Perfect case for a vector displacement map, right?
The base low-res UV object is just the grid alone. Simplest UV you can have, just an orthogonal projection.



Now how is it possible to unwrap the UVs of the high-res object with overhangins 1) without overlapping UVs and 2) at the same time match those UVs to the UV set of the base grid object?


I don't know what magic Blender does, but it's able to do it, judging by the video posted earlier.

Thanks again.
Edited by Andr - Nov. 6, 2018 19:08:19
User Avatar
Staff
431 posts
Joined: Sept. 2016
Offline
I'm not sure what the blender video is doing… it seems like they're using some script not publicly available so it's hard to be sure. If I had to guess, it probably works like other sculpting packages, where the typical workflow is to start with low-poly representations (which may or may not already have uvs), and “sculpting” is basically telling the software where to move the refined points after going through subdivision, so the base topology (at subd level 0) never changes.

Ideally you apply the similar workflow in houdini for vector displacements: start with low-res mesh with UVs, use sculpt SOP or other operations that don't mess with the UV layout (probably need to subdivide for more detail), then use that as high-res object for baking. The simple case you posted is deceptively hard.
User Avatar
Member
900 posts
Joined: Feb. 2016
Offline
Thanks a lot for bearing with me and for further explaining.
cheers
  • Quick Links