1
$\begingroup$

I am trying to bake a simple plane with mirror like reflection of a HDRi image (roughness set to 0, metallic set to 1). All I get is a flat color and no reflections.

tried to add ripples with noise texture, got a bit of color also, tried to add a plane with texture infront of the plane but that didn't work as well.. Any ideas??

you can clearly see the reflection in the cycles viewport and I understand the baking calculates differently (altough not sure which angle it takes), but why there are no reflections at all?

enter image description here

$\endgroup$
4
  • $\begingroup$ Can you clarify what you are expecting out of the bake and what you might be using it for? You might be asking for the impossible here. Not just a limitation of blender, but a limitation of textures in general. In short, you can't "bake" reflections, well you can, but it would be useless as the reflection wouldn't move. $\endgroup$
    – Benus
    Commented Jan 21, 2022 at 18:23
  • $\begingroup$ Well as seen in the image above I would like to achieve the reflection of the hdri image all I get is flat color $\endgroup$
    – Ebi
    Commented Jan 22, 2022 at 16:14
  • 1
    $\begingroup$ Is this what your looking for? i.sstatic.net/O1Y1O.gif $\endgroup$
    – Benus
    Commented Jan 22, 2022 at 17:47
  • 1
    $\begingroup$ Yes 😍, exactly what I need $\endgroup$
    – Ebi
    Commented Jan 22, 2022 at 18:31

2 Answers 2

5
$\begingroup$

Warning : Baked reflections will not give the result you may expect. Here is a preview of the differences. I highly recommend not doing this, but hey, it's not illegal.

enter image description here

Make a Material with a Texture Coordinate, Environment Texture and Emission Node. Connect Reflection to Vector, Colour to Colour then finally Emission to Surface. This will emulate reflections with an environment texture, other objects in the scene will no show. If you want other objects to show, render an equirectangular panorama at the location of the reflective object and use that as your environment texture instead. In my case, I'm going to use a HDRi image.

enter image description here

In the same material, create an Image Texture node and create a new image. Check 32 bit float and switch Colour Space to Filmic Log.

enter image description here

With the Image Texture Node and Object selected, go into the Bake settings in the Render Properties panel and change the Bake Type to Emit. Then click Bake.

enter image description here

Once baking has finished, you'll have an image texture to use in the material. Open the material and connect the Image Texture node to UV on a Texture Coordinate Node and Colour to Colour on an Emission node.

enter image description here

$\endgroup$
1
  • 1
    $\begingroup$ Brilliant! Thanks so much, I was so close but didn't think about putting the environment to emission, Thanks so much :) $\endgroup$
    – Ebi
    Commented Jan 23, 2022 at 0:17
1
$\begingroup$

There is a reflection. That's the green color you see. It's reflecting at a constant angle, because it's baking from orthographic cameras, probably aligned with the surface normal (but I'm not sure.) The world is at infinity. When you sample a sphere at infinity, from the same vector, all your samples hit the same spot.

Baking a mirror isn't generally something you want to do. It's view dependent, and baking won't leave you with anything view dependent. If you really want to bake a mirror from a particular angle, you should be thinking about rendering instead. You can use project-from-view UV coordinates to read the render and bake it as emission. (Normally, I'd say use window coordinates, but I'm not sure how baking is going to handle those-- probably poorly.)

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .