Reflective floor

Hi!
I have a model, with floor, walls and objects inside.
I need to implement the floor (preserving its texture) so that it reflects objects that are above it and on the walls. Like that

I’ve seen this thread (Make reflectivity) but I would like to use another way if it exists?
and also tried using CubeCamera
like this

floorCubeRenderTarget1 = new THREE.WebGLCubeRenderTarget( 256, {
                format: THREE.RGBFormat,
                generateMipmaps: true,
                minFilter: THREE.LinearMipmapLinearFilter,
                encoding: THREE.sRGBEncoding 
            } );

cubCamera = new THREE.CubeCamera( 1, 200, floorCubeRenderTarget1 );
cubCamera .position.copy(floor.position)
floor.material.envMap =  floorCubeRenderTarget1.texture;

tick() {
...
cubCamera .update( renderer, scene )
} 

I am not going to explain how to set up the CubeCamera so that it gives the correct reflection.
I also don’t understand how to set the parameters near and far.

I really need help!

The simplest way should be to directly use a single Reflector ( mirror ) for the floor only.
https://threejs.org/examples/?q=reflect#webgl_mirror

Make the Reflector semi-transparent, or use a blending, such as AdditiveBlending, to preserving some of the floor’s texture.

3 Likes

Thank you friend!
You helped me a lot!

1 Like