I have a plane with a couple of cubes and spheres slightly sticking out of it.
How do I bake the top surface onto one normal image?
Preferably non-destructively, so I could still edit individual objects.
Not the “proper” way but, a fast and dirty trick that is non destructive is to set the viewport shading to matcap “nomal” and you can simply do a screenshot from the top and crop it to size.
You could also use the “view menu” – “viewport render image” option, that way if you increase the output resolution in the output properties tab you can get a higher resolution image. Render with eevee and crop the result to size.
I gave the cube a little bevel to show up the side edges.
Disclaimer: A purist would probably cringe at this method but it is easy!
Merry Christmas!
At this point I was thinking of raytracing the surface vertically on a pixel grid with a script and recording face normals, so your solution IS simple I’ll take that, thank you!
Not a purist, but I had to choose Viewport Shading / Color / Vertex, otherwise colors are not exactly normals. The background should be 128/128/255 for pure Z and if I choose Color / Material I get 115/115/231. I believe that’s is also the case on your image.
Yes I did not bother to check the normal colours.
I did also try the baking route (selected to active) but found a few problems, it sounds like you did as well. That is why I posted this “hack”.
Hopefully blender will one day get a more simple and better baking system!