Reflection 3.js模拟地板反射 目标:

Reflection 3.js模拟地板反射 目标:,reflection,three.js,Reflection,Three.js,我想在three.js中模拟反射地板() 另外,我不想复制房子,做一个透明的地板,因为这样会增加模型的尺寸 我试着设置一个立方体并将其输出渲染到地板上,但它总是显示黑色 mirrorCamera = new THREE.CubeCamera(0.01, 1000, 512); mirrorCamera.renderTarget.minFilter = THREE.LinearMipMapLinearFilter; scene.add(mirrorC

我想在three.js中模拟反射地板()

另外,我不想复制房子,做一个透明的地板,因为这样会增加模型的尺寸

我试着设置一个立方体并将其输出渲染到地板上,但它总是显示黑色

        mirrorCamera = new THREE.CubeCamera(0.01, 1000, 512);
        mirrorCamera.renderTarget.minFilter = THREE.LinearMipMapLinearFilter;
        scene.add(mirrorCamera);

        var mirrorFloorMaterial = new THREE.MeshLambertMaterial(
                    {
                        map: floorTexture,
                        reflectivity: .8,
                        side: THREE.DoubleSide,
                        envMap: mirrorCamera.renderTarget
                    });

        mirrorFloor = new THREE.Mesh(cubeGeom, mirrorFloorMaterial);

        mirrorFloor.doubleSided = true;
        mirrorCamera.position = mirrorFloor.position;

        scene.add(mirrorFloor);
        ......
        ......
        //in render()

        mirrorFloor.visible = false;
        mirrorCamera.updateCubeMap(renderer, scene);
        mirrorFloor.visible = true;

        renderer.render(scene, firstPerson.camera);
问题: 1) 为什么我总是在地板上看到黑色而不是cubeCamera应该呈现的颜色

2) 有人能提出一个简洁的方法来模拟地板反射吗


提前感谢。

网格可以共享几何体,因此将反射渲染为单独的网格并不意味着复制几何体。看这个例子:是的。但我不想添加单独的网格来模拟反射(即使这意味着重用以前的几何体),因为这将意味着更高的负载。理想情况下,我想检查一下镜子相机(与第一人称相机一样放置在负y轴上)的外观,并将其覆盖在地板纹理上。有可能吗?另外,这种模拟反射的方法有什么问题吗?