我正在使用cubeCamera进行实时立方体贴图反射。 如何仅在反射中显示网格。
任何人都可以指导我如何完成它,或者它是否可能完成?
cubeCamera = new THREE.CubeCamera( 1, 600, 512 );
cubeCamera.renderTarget.texture.minFilter = THREE.LinearMipMapLinearFilter;
scene.add( cubeCamera );
envMap
envMap:cubeCamera.renderTarget,
基本网格
var geometry = new THREE.PlaneBufferGeometry( 1, 1 );
var material = new THREE.MeshBasicMaterial({color: 0xffffff });
var mesh = new THREE.Mesh( geometry, material);
mesh.position.set( 0, 0, 0 );
scene.add( mesh );
渲染
function animate() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
}
function render() {
cubeCamera.updateCubeMap( renderer, scene );
renderer.render( scene, camera );
}
function update() {
requestAnimationFrame( update );
render();
}
答案 0 :(得分:1)
试试这个(我还没有测试过)
我假设它是你想要只在反射中可见的网格物体。
基本网格
var geometry = new THREE.PlaneBufferGeometry( 1, 1 );
var material = new THREE.MeshBasicMaterial({color: 0xffffff });
var mesh = new THREE.Mesh( geometry, material);
mesh.position.set( 0, 0, 0 );
// make your mesh invisible.
mesh.visible = false;
scene.add( mesh );
<强>渲染强>
function render() {
// Make mesh visible to the cubeCamera.
mesh.visible = true;
cubeCamera.updateCubeMap( renderer, scene );
// Make mesh invisible again.
mesh.visible = false;
renderer.render( scene, camera );
}