Javascript THREE.js中的反光材质

Javascript THREE.js中的反光材质,javascript,three.js,3d,Javascript,Three.js,3d,如何创建反映场景中其他形状的材质?我尝试了reflectivity属性,但它没有反映任何内容 这看起来不像是用标准材质制作的。进入一点理论:反射基本上是从某个位置拍摄的场景图像。因此,如果希望平面网格用作镜像,则必须在该位置添加摄影机,使其将场景渲染为动画循环中的纹理,然后在平面网格的材质中使用该纹理。除了WestLangley提到的例子之外,我还建议大家看看 此外,玩周围的设置;例如,要获得反射性较小的效果,请尝试: var mirrorMaterial = new THREE.MeshBa

如何创建反映场景中其他形状的材质?我尝试了
reflectivity
属性,但它没有反映任何内容


这看起来不像是用标准材质制作的。

进入一点理论:反射基本上是从某个位置拍摄的场景图像。因此,如果希望平面网格用作镜像,则必须在该位置添加摄影机,使其将场景渲染为动画循环中的纹理,然后在平面网格的材质中使用该纹理。除了WestLangley提到的例子之外,我还建议大家看看

此外,玩周围的设置;例如,要获得反射性较小的效果,请尝试:

var mirrorMaterial = new THREE.MeshBasicMaterial( { color: 0x111111, envMap: mirrorCamera.renderTarget } );


我是用上面的例子做的:

new THREE.MeshLambertMaterial ({
    map: texture,    
    envMap: scene.background,      
    combine: THREE.MixOperation,     
    reflectivity: .5     
})

据我所知,关键变量是三。MixOperation有很多这样的例子:,如果你想要一面镜子,也有一个这样的例子:@WestLangley除了镜子之外,所有的例子都使用环境图像进行反射。如果仔细观察材质,您将看到所使用的图像。我特别询问了在场景中反射其他对象的问题。镜子的例子是很好的参考,谢谢。请看,谢谢你的回答。我正在寻找地板物体的反光材料。反射率必须来自场景中的对象。我没有看到任何预期效果的例子。像闪亮的塑料或金属之类的东西。反射会有点扩散,不像镜像的例子。虽然镜子的例子是我见过的最接近的例子。你能提供一些代码让我开始吗?尝试更改具有反射的对象的材质参数,这将使其反射性降低,并可能使其达到更理想的效果。见上面更新的答案。
new THREE.MeshLambertMaterial ({
    map: texture,    
    envMap: scene.background,      
    combine: THREE.MixOperation,     
    reflectivity: .5     
})