动态立方体反射镜效果

时间:2013-01-24 10:09:01

标签: three.js

在我的项目中,为场景添加了一个cubeCamera以获得动态的envMapping(反射)。如你所见,厨房的后墙有反射,上面有一些模糊,边缘也没有抗锯齿。那么我怎么能摆脱断线并在墙上画出尖锐的反射呢?

代码:

var cubeCamera = new THREE.CubeCamera(1, 1000, 256);
cubeCamera.renderTarget.minFilter = THREE.LinearMipMapLinearFilter;
scene.add(cubeCamera);

 var material = new THREE.MeshPhongMaterial({
                ambient: 0x996633,
                reflectivity: 1,
                color: 0x996633,
                specular: 0x050505,
                shininess: 100,
                shading: THREE.SmoothShading, //THREE.FlatShading,
                blending: THREE.NormalBlending,
                side: THREE.DoubleSide,
                envMap: project.cubeCamera.renderTarget,
                wireframe: false
            });

objMesh.material = material;

在渲染功能中:

 objMesh.visible = false;
 objMesh.cubeCamera.updateCubeMap(renderer, scene);
 objMesh.visible = true;

 renderer.render(scene, camera);

因此代码就像在网络上找到的每个样本一样。没有不同。但我抓到的一件事是,对基元的反射是完美的,但是从obj文件加载的自定义网格的反射很差。

Screenshot

1 个答案:

答案 0 :(得分:0)

环境映射基于环境无限远的假设,这在您的情况下不是有效的近似值。因此,你会看到你不喜欢的文物。

如果将立方相机的分辨率提高一倍,可能会减少折边效果。