Baking displacement / bump maps from dimensional objects - how?


(motorsep) #1

I recall there was a fancy node setup to bake displacement maps from high poly flat’ish objects to low poly plane.

Is there an easy (built-in) way to bake displacement / bump / height maps from 3D objects (not just planar, but also fully dimensional ones) in Blender 2.8?

If there is none, can someone please show me how to make a setup (if possible at all) to bake displacement / height / bump maps from high poly to low poly ?

Thanks beforehand


(omgold) #2

Not sure if the question was specifically about 2.8, and I don’t know whether something was changed about it, but in 2.7 you could bake from one object to another by using the ‘selected to active’ flag.

To bake any kind of texture (not something that is listed in Bake Type), just set bake type to ‘Emit’ and setup your node material such that the data (height, normals, …) you want to bake are fed into an emission shader.

EDIT: you probably want to bake normals, not height maps, as otherwise you will lose the info about displacement of the detailed mesh. And normals you can bake directly by selecting it as bake mode, without using the emit shader method.

Tutorial here:


(motorsep) #3

Well, I know how to bake textures and I definitely don’t need to bake off normal maps - I need displacement / height / bump maps.

I guess I am just gonna have to purchase Knald…


(omgold) #4

Then , please could you clarify the question? What exactly do you want to bake? What is it exactly you mean by ‘displacement’? The distance between the high-poly and low-poly? If yes, then you can bake coordinates of both objects onto the low-poly, then subtract the values of both images.


(Secrop) #5

hummm… waiting until 2.8 is ready ‘for consumption’?? Baking is quite the same as in 2.79…

About 3D displacement baking (all other are supported in 2.79**), try this: So how does microdisplacement work now in 2.79?

** |selected to active| uses all selected objects, and bake them into the active one!


(motorsep) #6

Hmm… I wonder if vector displacement maps can be used in UE4 out of the box for “bump offset” mapping. POM will be prohibitively expensive.

I don’t think that would work as Bump Offset node accepts height map only (and coordinates, but I am not quite sure how to use those).

So basically I’d either need to bake height map from 3D (non-planar) object or somehow convert vector displacement map into height map (if that’s even possible).

:frowning:


(Secrop) #7

I never tried to code something like POM for vector displacement maps… Sure it would be exponentially expensive, as you need at least to sample an area, instead of a line… Also never heard of someone who has… But it’s still possible.

For that, you can use the BlenderInternal. It can bake height displacement maps.


(motorsep) #8

It has to be Cycles, since Blender Internal will be gone soon.


(Secrop) #9

For now, BI is still there and you can use it.
When 2.8 comes out, I’m sure someone will develop a displacement bake for Cycles/Eevee… IIRC they were wainting for the subdiv/multires to be ready, so a new solution will be on the way.