Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reflection 你能在three.js中反映几何体(而不是纹理)吗?_Reflection_Three.js_Geometry - Fatal编程技术网

Reflection 你能在three.js中反映几何体(而不是纹理)吗?

Reflection 你能在three.js中反映几何体(而不是纹理)吗?,reflection,three.js,geometry,Reflection,Three.js,Geometry,我已经找到了许多three.js反射图像的示例,但是是否可以反射直线、三角形和形状?我想创建一个反射线条的镜像金字塔 例如:>此页面有许多行 我想把它们放在中间的3D形状上。 例如:>此页面有一个镜像球 这些是我正在查看的代码行。不确定这是否可能 var textureCube = THREE.ImageUtils.loadTextureCube( urls ); var material = new THREE.MeshBasicMaterial( { color: 0xffffff, env

我已经找到了许多three.js反射图像的示例,但是是否可以反射直线、三角形和形状?我想创建一个反射线条的镜像金字塔

例如:>此页面有许多行

我想把它们放在中间的3D形状上。

例如:>此页面有一个镜像球

这些是我正在查看的代码行。不确定这是否可能

var textureCube = THREE.ImageUtils.loadTextureCube( urls );
var material = new THREE.MeshBasicMaterial( { color: 0xffffff, envMap: textureCube } ) 
shader.uniforms[ "tCube" ].value = textureCube;

目前,上面的代码正在接收一组图像“URL”,但正如您现在可能知道的,我想在我提供的第一个链接中反映几何图形。

您可以查看
THREE.CubeCamera
。它将创建6个摄影机,这些摄影机渲染到WebGLRenderTargetCube,然后将其用作环境贴图。例如:

//Create cube camera
var cubeCamera = new THREE.CubeCamera( 1, 100000, 128 );
scene.add( cubeCamera );

//Create material and mesh
var chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeCamera.renderTarget } );
var car = new Mesh( carGeometry, chromeMaterial );
scene.add( car );

//Update the render target cube
car.setVisible( false );
cubeCamera.position.copy( car.position );
cubeCamera.updateCubeMap( renderer, scene );

//Render the scene
car.setVisible( true );
renderer.render( scene, camera );
见此:

这里还有一些使用示例:


这取决于形状。如果是直线或平面,反射是一种简单的线性运算,可以通过适当的模型矩阵实现。如果不是,事情会变得更复杂,您可能需要使用着色器。