私のプロジェクトでは、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);
したがって、コードは、Web 上にあるすべてのサンプルのようなものです。変わりはない。しかし、私が気づいたことの 1 つは、プリミティブの反射は完璧ですが、obj ファイルからロードされたカスタム メッシュの反射は貧弱です。