Reflect something that's not really there?

I know the title sucks, but here’s a simple example of what I’m talking about. In the Lion King, when Simba looks into the water he sees his father reflected.

Can such an effect be achieved in Blender? If so, how can I do it? How can I have water (or any Ray Mirror material) reflect something that’s not “there”.

The best I was able to come up with was to have the real scene in Layer 1, the water on Layers 2 and 3, the things to reflect in Layer 3, and render Layers 1 and 2. It didn’t work, the water reflected the contents of Layer 1 and not Layer 3.

Any help would be much appreciated, even it means “cheating” (as in not using real reflections)

Anted i’m a blender noob, but conceptually, if you ‘reflecting’ something that isn’t there, is this not equivalent to ‘projecting’ that image onto the water surface?

Similarly, could you but either a flat billboard / capture of what you want reflected behind the water, or project the ‘reflection’ onto the water?

Also just thinking out loud…could you render the scene with the reflected material there, and then without, and then combine the two?

render two versions and composite the reflection of one into the other with an ID mask.

I’m going to need a bit more help, ldh1109 - I don’t know how to do anything of what you said, except “render two versions”.

I remember seeing this question asked a while ago. (It was probably me)

You can use render layers. To understand how it works look at the settings in the render layers tab, which layers are active in the “scene” and “layers” panels.

The object will also cast shadows, though there are a lot of ways you can get around that.


ghostsuzzaneexample.blend (494 KB)

Oh duh…render layers, then compositer…good call godofvigthings

That is blody clever, GodOfBigThings.

As for getting rid of the shadow… Well, the best I’ve got it to disable ShadBuf on the material, but as far as I can tell only Spotlights have the option to use buffered shadows. Any tips on how to remove the reflected object’s shadow?

Any tips on how to remove the reflected object’s shadow?
Render layers and if you look in the Lamp / Shadow settings there is the option to enable shadows only for the layer the lamp is on. If an object is on a different layer it won’t cast a shadow. Also note that object can be on multiple layers if you want your lamp to cast shadows by object on different layers.
Put the objects on the right layers with the appropriate lamp settings and you get your desired result.

Perfect! Wow, this opens up a whole new world of possibilities! Thank you very much for your help. I’m going to go lose six hours of my life to this discovery.

Slight catch: Is it possible to do the opposite and not reflect things that are there?

For the non reflective object, it its Material / Options panel deselect Traceable. This turns off the objects effect on ray tracing so can have knock on effects with raytraced shadows, transparency. You should also be able to use render layers/compositing

You talked about “losing six hours” to this … heh … you can have a lot more pure-fun than that! :slight_smile:

Think of the scene, if you will, “in unrelated pieces.” First, consider how to get the reflection of something, whatever it is, to show up where you want it to go and to look the way you want. “That’s problem #1 … now, on to problem #2.” Problem #2 is how to create the scene that the reflection will appear in, minus the reflection (which has already been produced … it was “problem #1”). Now, Problem #3 is simply the details of how you want to merge these two pieces together.

You might use RenderLayers to handle these two issues simultaneously in the same render. Or, you might separately generate each piece, into separate MultiLayer-format files, and then, in a discrete third step, bring them together as one.

It’s a very engaging enterprise, simply because you’ve got so many options to choose from.